
读书笔记
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 · 515 阅读 · 0 评论 -
《C陷阱与缺陷》 第二章 语法“陷阱”
2.1 理解函数声明 这一节主要说的是,为了程序的可读性,对于函数指针,最好用typedef定义一下,再用。 2.2 运算符的优先级问题 重要点: 1.任何一个逻辑运算符的优先级低于任何一个关系运算符。 2.移位运算符的优先级比算数运算符低,但比关系运算符要高。 也就是: 算数运算符 > 移位运算符> 关系运算符>逻辑运算符,而我的理解是,在写代码时候吃不准的就加括号,在看代码时候原创 2011-10-25 22:42:35 · 488 阅读 · 0 评论 -
《C陷阱与缺陷》 第三章 语义“陷阱”
3.1 数组与指针 两点概念:1.C语言只有一维数组,且数组大小在编译器已经定下。2.对于一个数组,我们只能干两件事:确定数组大小和得到数组下标为0 的元素的指针。 数组下标原理: Array[ n ] 等同于 *(Array+n) 对于二维数组,可以理解为是以数组为元素的数组。 3.2 非数组的指针 C语言中字符串常量包含了字符串中所有字符以及一个‘\0’,在为字符串动态分原创 2011-10-27 23:14:21 · 486 阅读 · 0 评论 -
《C陷阱与缺陷》 第四章 连接
4.1 什么是连接器 C语言中的一个重要思想: 分别编译,然后整合到一起。 典型的连接器把有编译器或汇编器生成的若干目标模块,整合成一个被称为载入模块或可执行模块的实体。 连接器通常把目标模块看成是由一组外部对象组成的。所谓外部对象,指的是每个没有声明为static的函数或者外部变量。 连接器的重要工作是处理外部对象的命名冲突。 连接器的另一个工作是对其他模块中的外部对象的引用,比如调原创 2011-10-28 22:37:02 · 573 阅读 · 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 · 638 阅读 · 0 评论