phper 学习c的一点笔记。参考资料 learn C on the mac

图书地址--http://pan.baidu.com/s/1eQBW2hO

源码地址--http://pan.baidu.com/s/1eQGGkE2

1,简单的创建就不讲了,从最基本的hello word 开始吧。

//引入文件

#include <stdio.h>

//main函数

int main(int argc, const char * argv[])

{

// 输出,尾部换行,最后返回0

printf("Hello, World!\n");

return 0;

}

花键+R运行代码输出结果。

这里讲下从终端编译并运行代码。

cd 进到根目录,我们用gcc编译 -o指定文件名。我们上面的文件名是main.c ,so

gcc -o main.out main.c

ls 查看多了一个 main.out 文件。嗯,还记得我们linux上编译安装php么?so ./main.out 来运行文件,输出 Hello, Word!

好运行完毕。

----------有啥用 ? 恩,原来我们定时执行一段脚本,比如晚上1点,将今天新增加的数据导入solr,原来是用crontab 执行一段php脚本,,现在你可以执行一个编译过的c,用来解决php解决不了的问题。

2,函数的声明,来看下面代码。

#include <stdio.h>

void SayHello( void );

int main (int argc, const char * argv[]) {

SayHello();

return 0; }

void SayHello( void ) {

printf( "Hello, world!\n" );

}

void SayHello 这个函数,除非你写在int main的上面,否则在用的时候必须先声明,python,java,Objective-C都是如此。脚本语言除外,js,php不受此限制。

3,接下来讲的是1byte=8bit。一个bit只能存0或1。所以1byte=2的8次方,即能存0-127共128个数字。

然后讲的是 ++ - -.

int i=2,j;

j = ++i;则j等于3,难理解的是 j= i++;j等于2,i 等于3,而++的优先级高于 = 。

书上有符号优先级图标,这里不讲了。

3,printf( "Looping: %d\n", i );,%d输出的i 的值,%d是整数类型,类似的还有

%d, %i,代表整数,%f-浮点,%s,字符串,%c,char.  %p 指针,%fL 长log,%e科学计数,%g 小数或科学计数

4,下面就是C语言传的神呼其神的指针了。

指针有太多可说的东西,理解下指针。

#include <stdio.h>

int main( void ) {

int myInt;

int *a;

a = &myInt;

scanf("%d", &myInt);

printf("myInt是 %d\n", myInt);

printf("myInt的指针是 %p\n", a);

printf("通过指针访问myInt是 %d\n", *a);

}

还有这个,

#include <stdio.h>

void    SquareIt( int  number, int    *squarePtr );

int main (int argc, const char * argv[]) {

int    square;

SquareIt( 5, &square );

printf( "5 squared is %d.\n", square );

return 0;

}

void    SquareIt( int  number, int    *squarePtr ) {

*squarePtr = number * number;

}

根php里的引用&,用法相似,但引用非指针,php里的引用只不过是变量的别名。

5,数据类型,两点给我印象深刻,C里没bool类型,多数情况用1,0表示,。C里也没有string类型,可声明char 数组装string。声明数组前面可加任何C的合法类型,这里就涉及到占用内存问题了。

6

对文件的操作,基本跟php一样。

7,第11章可能是本书最有意思的一章了,讲了指针的用法,递归函数,递归加引用的用法,二叉树,二叉树的搜索,函数的指针,初始化,

和创建你自己的数据类型,包括上面的string,和bool。

learn C on the mac 读后笔记的更多相关文章

  1. Learn Objectvie-C on the Mac 2nd Edition 笔记

    Chapter 1Apple’s Cocoa (for OS X) 和 Cocoa Touch (for iOS) toolkits 都是用 Objective-C写的. Chapter 2 (1)  ...

  2. Mac和iOS开发资源汇总

    小引 本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按command+D). 今天(2013年7月19日)收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大 ...

  3. 【转】Mac和iOS开发资源汇总—更新于2013-07-19

    小引 本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按command+D). 今天(2013年7月19日)收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大 ...

  4. (转载)Mac和iOS开发资源汇总—更新于2013-07-19

    (转载)http://beyondvincent.com/2013/07/18/resources-for-mac-and-ios-developers/ 小引 本文主要汇集一些苹果开发的资源,会经常 ...

  5. Mac和iOS开发资源汇总—更新于2013-10-14

    小引本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按command+D).今天(2013年10月14日)收录了answer哥(黄爱武)的博客,欢迎大家围观! 今天( ...

  6. 【IOS】Mac和IOS开发资源汇总

    本文主要汇集一些苹果开发的资源,会经常更新,建议大家把这篇文章单独收藏(在浏览器中按**command+D**). 今天收录了许多中文网站和博客.大家一定要去感受一下哦. 如果大家有知道不错的站点,可 ...

  7. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  8. iOS 学习资源

    这份学习资料是为 iOS 初学者所准备的, 旨在帮助 iOS 初学者们快速找到适合自己的学习资料, 节省他们搜索资料的时间, 使他们更好的规划好自己的 iOS 学习路线, 更快的入门, 更准确的定位的 ...

  9. object-c学习1

    因为公司需要,开始看object-c,虽然还没ios系统,但现学下语法. 第一个例子不应该是helloWorld吗?但<Learn Objective-C on the Mac>书上不是. ...

随机推荐

  1. perl 爬取同花顺数据

    use LWP::UserAgent; use utf8; use DBI; $user="root"; $passwd='xxx'; $dbh=""; $db ...

  2. XML DOM 节点

    来自:w3cschool菜鸟教程 在 DOM 中,XML 文档中的每个成分都是一个节点. DOM 节点 根据 DOM,XML 文档中的每个成分都是一个节点. DOM 是这样规定的: 整个文档是一个文档 ...

  3. JS+canvas实现人机大战之五子棋

    效果图: html代码如下: <!DOCTYPE html><html>    <head>        <meta charset="utf-8 ...

  4. SQL数据库关键字和列名冲突处理

    在设计SQL数据库的时候可能由于考虑不全,使列名和数据库内关键字冲突,可能导致Query不能被正确识别,对列名要加[]处理.

  5. iOS 技能集结号

    1. 获取磁盘总空间大小 2. 获取磁盘可用空间大小 3. 获取指定路径下某个文件的大小 4. 获取文件夹下所有文件的大小 5. 获取字符串(或汉字)首字母 6. 将字符串数组按照元素首字母顺序进行排 ...

  6. C++内联函数与宏定义

    用内联取代宏: 1.内联可调试: 2.可进行类型安全检查或自动类型转换: 3.可访问成员变量. 另外,定义在类声明中的成员函数自动转化为内联函数. 文章(一) 内联函数与宏定义 在C中,常用预处理语句 ...

  7. HDU 2841 Visible Trees(莫比乌斯反演)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2841 题意:给n*m的矩阵(从(1,1)开始编号)格子,每个格子有一棵树,人站在(0,0)的位置,求可 ...

  8. 5.6.2 Number类型

    Number是与数字对应的引用类型.要创建Number对象,可以在调用Number构造函数时向其中传递相应的数值.例如: var numberObject=new Number(10); 与Boole ...

  9. this function has none of deterministic, no sql,or reads sql data in its declaration and binary logging is enabled

      原址:http://blog.chinaunix.net/uid-20639775-id-3031821.html   This function has none of DETERMINISTI ...

  10. Apache proxy中转设置

    参考http://sjsky.iteye.com/blog/1067119 打开http.conf  (macOS中 Apache配置文件在/etc/apache2/中   etc是隐藏的) 确保下面 ...