![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
zhang_heaven
这个作者很懒,什么都没留下…
展开
-
《C陷阱与缺陷》 第一章 词法“陷阱”
1.1 = 不同于 == 一般来说,程序最好写成 if(1 == a){ ........}而不是if(a == 1){ ......}另外,if((x = y) != 0){ ......} 比if(x = y){ .......}可读性要强。1.2 & 和 | 不同于 && 和 ||原创 2011-10-24 21:40:08 · 471 阅读 · 0 评论 -
《C陷阱与缺陷》 第二章 语法“陷阱”
2.1 理解函数声明这一节主要说的是,为了程序的可读性,对于函数指针,最好用typedef定义一下,再用。2.2 运算符的优先级问题重要点:1.任何一个逻辑运算符的优先级低于任何一个关系运算符。2.移位运算符的优先级比算数运算符低,但比关系运算符要高。也就是: 算数运算符 > 移位运算符> 关系运算符>逻辑运算符,而我的理解是,在写代码时候吃不准的就加括号,在看代码时候原创 2011-10-25 22:42:35 · 447 阅读 · 0 评论 -
《C陷阱与缺陷》 第三章 语义“陷阱”
3.1 数组与指针两点概念:1.C语言只有一维数组,且数组大小在编译器已经定下。2.对于一个数组,我们只能干两件事:确定数组大小和得到数组下标为0 的元素的指针。数组下标原理: Array[ n ] 等同于 *(Array+n)对于二维数组,可以理解为是以数组为元素的数组。3.2 非数组的指针C语言中字符串常量包含了字符串中所有字符以及一个‘\0’,在为字符串动态分原创 2011-10-27 23:14:21 · 452 阅读 · 0 评论 -
《C陷阱与缺陷》 第四章 连接
4.1 什么是连接器C语言中的一个重要思想: 分别编译,然后整合到一起。典型的连接器把有编译器或汇编器生成的若干目标模块,整合成一个被称为载入模块或可执行模块的实体。连接器通常把目标模块看成是由一组外部对象组成的。所谓外部对象,指的是每个没有声明为static的函数或者外部变量。连接器的重要工作是处理外部对象的命名冲突。连接器的另一个工作是对其他模块中的外部对象的引用,比如调原创 2011-10-28 22:37:02 · 519 阅读 · 0 评论 -
《C陷阱与缺陷》 第五章 库函数
5.1 返回整数的getchar函数getchar 函数的原型是 int getchar(void) 这意味着像以下这种程序:char c;while((c = getchar())!=EOF){ putchar(c);}会造成歧义,编译器会将int转成char传递给c,再判断EOF,有的编译器中c甚至容不下EOF,造成错误。5.2 更新顺序文件这一节说的是fre原创 2011-11-05 19:29:39 · 595 阅读 · 0 评论