C和指针读书笔记——快速上手

来源:互联网 发布:vr头显 知乎 定位 编辑:程序博客网 时间:2024/06/14 16:26

原创文章,转载请注明出处:http://blog.csdn.net/yanghaoran321/article/details/7631929

1、在C语言中用/*和*/来注释掉这段代码,这个实际上并不是十分的安全,要从逻辑上删除一段C语言代码,采用#if指令是比较好的办法,如下:

#if 0       statements#endif
2、使用#include可以避免维护代码时出现错误的可能性(同一声明多次拷贝出现的维护性问题);
3、每一个C程序都必须有一个main函数;

4、在C语言中,数组参数是传址调用的,而标量和常量都是传值调用,被调用的函数无法修改调用函数以传值形式传递给它的参数,然而当被调用函数修改数组参数的其中一个元素时,调用函数所传递的数组就会被实际修改;

5、当传递一个数组时,可以无需指定数组的长度(如果需要长度,则需要再增加一个长度的参数);

int  read(int a[], int len);
(在函数内部最好进行出错检查)

6、使用scanf函数应该注意:使用所有格式码(除了%c之外)时,输入值之前的空白(空格、制表符、换行符等)会被跳过,值后面的空白表示该值的结束,因此,用%s格式码输入字符串时,中间不能包含空白;

7、编译器通常不对数组下标的有效性进行检查;

8、注释是不安全的,是不允许嵌套的,总是与第一个*/相结合;

9、

int ch;while((ch = getchar()) != EOF && ch != '\n');
ch被声明为整型,但是又用来读取字符的原因:

EOF是一个整型数值,它的位数比字符类型要多,把ch声明为整型可以防止从输入读取的字符意外的解释为EOF,但是同时意味着接收字符的ch必须足够大,足以容纳EOF;