为你推荐
版权页
目录
译者序
致谢
前言
作者简介
第0级 邂逅
第1章 入门
1.1 命令式编程
1.2 编译和运行
第2章 程序的主要结构
2.1 语法
2.2 声明
2.3 定义
2.4 语句
2.4.1 循环
2.4.2 函数调用
2.4.3 函数返回
第1级 相识
第3章 一切都和控制有关
3.1 条件执行
3.2 循环
3.3 多重选择
第4章 表达式计算
4.1 算术
4.1.1 +、-和*
4.1.2 除法和余数
4.2 修改对象的运算符
4.3 布尔情景
4.3.1 比较
4.3.2 逻辑
4.4 三元或条件运算符
4.5 求值顺序
第5章 基本值和数据
5.1 抽象状态机
5.1.1 值
5.1.2 类型
5.1.3 二进制表示和抽象状态机
5.1.4 优化
5.2 基本类型
5.3 指定值
5.4 隐式转换
5.5 初始值设定
5.6 命名常量
5.6.1 只读对象
5.6.2 枚举
5.6.3 宏
5.6.4 复合字面量
5.7 二进制表示
5.7.1 无符号整型
5.7.2 位集和按位运算符
5.7.3 位移运算符
5.7.4 布尔值
5.7.5 有符号整型
5.7.6 固定宽度整型
5.7.7 浮点数据
第6章 派生数据类型
6.1 数组
6.1.1 数组声明
6.1.2 数组操作
6.1.3 数组长度
6.1.4 数组作为参数
6.1.5 字符串是特殊的
6.2 指针作为不透明类型
6.3 结构
6.4 类型的新名称:类型别名
第7章 函数
7.1 简单函数
7.2 main是特殊的函数
7.3 递归
第8章 C库函数
8.1 C库函数的一般特性及功能
8.1.1 头文件
8.1.2 接口
8.1.3 错误检查
8.1.4 边界检查接口
8.1.5 平台前提条件
8.2 数学
8.3 输入、输出和文件操作
8.3.1 无格式文本输出
8.3.2 文件和流
8.3.3 文本IO
8.3.4 格式化输出
8.3.5 无格式文本输入
8.4 字符串处理和转换
8.5 时间
8.6 运行时环境设置
8.7 程序终止和断言
第2级 相知
第9章 风格
9.1 格式
9.2 命名
第10章 组织与文档
10.1 接口文档
10.2 实现
10.2.1 宏
10.2.2 纯函数
第11章 指针
11.1 指针操作
11.1.1 操作符的地址和对象
11.1.2 指针加法
11.1.3 指针减法和差
11.1.4 指针合法性
11.1.5 空指针
11.2 指针和结构
11.3 指针和数组
11.3.1 数组访问和指针访问是一样的
11.3.2 数组参数和指针参数是一样的
11.4 函数指针
第12章 C内存模型
12.1 统一内存模型
12.2 union
12.3 内存和状态
12.4 指向非特定对象的指针
12.5 显式转换
12.6 有效类型
12.7 对齐
第13章 存储
13.1 malloc和友元
13.1.1 具有可变数组大小的一个完整例子
13.1.2 确保动态分配的一致性
13.2 存储持续时间、生命周期和可见度
13.2.1 静态存储持续时间
13.2.2 自动存储持续时间
13.3 题外话:在定义对象之前使用对象
13.4 初始化
13.5 题外话:机器模型
第14章 涉及更多的处理和IO
14.1 文本处理
14.2 格式化输入
14.3 扩展字符集
14.4 二进制流
14.5 错误检查和清理
第3级 深入
第15章 性能
15.1 内联函数
15.2 使用restrict限定符
15.3 测量和检验
第16章 类似函数的宏
16.1 类似函数的宏如何工作
16.2 参数检查
16.3 访问调用上下文
16.4 默认参数
16.5 可变长度参数列表
16.5.1 可变长参数宏
16.5.2 绕道:可变长参数函数
16.6 泛类型编程
第17章 控制流中的变化
17.1 一个复杂的例子
17.2 排序
17.3 短跳转
17.4 函数
17.5 长跳转
17.6 信号处理程序
第18章 线程
18.1 简单的线程间控制
18.2 无竞争初始化和销毁
18.3 线程本地数据
18.4 临界数据和临界区
18.5 通过条件变量进行通信
18.6 更复杂的线程管理
第19章 原子访问和内存一致性
19.1 “以前发生的”关系
19.2 C库调用提供同步
19.3 顺序的一致性
19.4 其他一致性模型
要点
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜