C陷阱与缺陷


请输入要查询的词条内容:

C陷阱与缺陷




作者:(美)凯尼格著,高巍译

ISBN:10位[7115171793]13位[9787115171795]

出版社:人民邮电出版社

出版日期:2008-2-1

定价:¥30.00元

内容提要


作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。

全书分为8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。

本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。

编辑推荐


AndrewKoenig自己在Bell实验室时发表的论文为基础,结合自己的工作经验扩展成这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。

本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug。

——FrancisGlassborow,ACCU主席

作者简介


AndrewKoenigAT&T大规模程序研发部(莉贝尔实验室)成员。他从1986年开始从事C语言的研究,1977年加入贝尔实验室。在1989年ISO/ANSIC++委员会成立时,他就加入了该委员会,并一直担任项目编辑;他还是《RumirlatiorlsonC++》(C++沉思录)、《CTrapsandPitfalls》的作者。

目录


第0章导读

第1章词法“陷阱”

1.1=不同于==

1.2&和|不同于&&和||

1.3词法分析中的“贪心法”

1.4整型常量

1.5字符与字符串

第2章语法“陷阱”

2.1理解函数声明

2.2运算符的优先级问题

2.3注意作为语句结束标志的分号

2.4switch语句

2.5函数调用

2.6“悬挂”else引发的问题

第3章语义“陷阱”

3.1指针与数组

3.2非数组的指针

3.3作为参数的数组声明

3.4避免“举隅法”

3.5空指针并非空字符串

3.6边界计算与不对称边界

3.7求值顺序

3.8运算符&&、||和!

3.9整数溢出

3.10为函数main提供返回值

第4章连接

4.1什么是连接器

4.2声明与定义

4.3命名冲突与static修饰符

4.4形参、实参与返回值

4.5检查外部类型

4.6头文件

第5章库函数

5.1返回整数的getchar函数

5.2更新顺序文件

5.3缓冲输出与内存分配

5.4使用ernlo检测错误

5.5库函数signal

第6章预处理器

6.1不能忽视宏定义中的空格

6.2宏并不是函数

6.3宏并不是语句

6.4宏并不是类型定义

第7章可移植性缺陷

7.1应对C语言标准变更

7.2标识符名称的限制

7.3整数的大小

7.4字符是有符号整数还是无符号整数

7.5移位运算符

7.6内存位置0

7.7除法运算时发生的截断

7.8随机数的大小

7.9大小写转换

7.10首先释放,然后重新分配

7.11可移植性问题的一个例子

第8章建议与答案

8.1建议

8.2答案

附录A:PRINTF,VARARGS与STDARG

附录B:Koenig和Moo夫妇访谈

相关分词: 陷阱 缺陷