C陷阱与缺陷
图书信息
| 作者 | [美]安德鲁·凯尼格(Andrew Koenig) |
| 出版社 | 人民邮电出版社有限公司 |
| ISBN | 9787115521279 |
| 出版时间 | 2020-08-01 |
| 字数 | 12.2万 |
| 分类 | 科技,计算机,网络,程序设计 |
读书简介
《C陷阱与缺陷》作者以自己1985年在贝尔实验室时发表的一篇论文为基础,结合自己的工作经验将这篇论文扩展成对C程序员具有珍贵价值的经典著作。本书的出发不是批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。 《C陷阱与缺陷》分为8章,分别从词法陷阱、语法陷阱、语义陷阱、、库函数、预处理器、可一致性缺陷等几个方面分析了C编程中可能遇到的问题。
目录
版权
版权声明
内容提要
作者简介
中文版序
Preface to the Chinese Edition
18次印刷的奇迹
前言
资源与支持
第0章 导读
第1章 词法“陷阱”
1.1 =不同于==
1.2 & 和 | 不同于&& 和 ||
1.3 词法分析中的“贪心法”
1.4 整型常量
1.5 字符与字符串
第2章 语法“陷阱”
2.1 理解函数声明
2.2 运算符的优先级问题
2.3 注意作为语句结束标志的分号
2.4 switch语句
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 使用errno检测错误
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
A.1 printf函数族
A.1.1 简单格式类型
A.1.2 修饰符
A.1.3 标志
A.1.4 可变域宽与精度
A.1.5 新增的格式码
A.1.6 废止的格式码
A.2 使用varargs.h来实现可变参数列表
A.2.1 实现varargs.h
A.3 stdarg.h:ANSI版的varargs.h
附录B Koenig和Moo夫妇访谈
- 异重庆四重奏(萧星寒)
- 健康评估实践与学习指导(张立力,孙玉梅)
- 菌糠饲料生产及使用技术(李济宸,等)
- (四色)世界名人非常之路.医学世家走出的医圣:李时珍(王莲凤)
- 化学化工专业英语杨定乔(杨定乔)
- 低碳技术创新与可持续能源转型:理论与实证(杨光磊著著无编无译)
- 我有浦草(王加婷)
- 王付经方十八反真传(王付主编)
