# 部分 II. C语言本质
**目录**
+ [14\. 计算机中数的表示](ch14.html)
+ [1\. 为什么计算机用二进制计数](ch14s01.html)
+ [2\. 不同进制之间的换算](ch14s02.html)
+ [3\. 整数的加减运算](ch14s03.html)
+ [3.1\. Sign and Magnitude表示法](ch14s03.html#id2753623)
+ [3.2\. 1's Complement表示法](ch14s03.html#id2753761)
+ [3.3\. 2's Complement表示法](ch14s03.html#id2753996)
+ [3.4\. 有符号数和无符号数](ch14s03.html#id2754091)
+ [4\. 浮点数](ch14s04.html)
+ [15\. 数据类型详解](ch15.html)
+ [1\. 整型](ch15s01.html)
+ [2\. 浮点型](ch15s02.html)
+ [3\. 类型转换](ch15s03.html)
+ [3.1\. Integer Promotion](ch15s03.html#id2757955)
+ [3.2\. Usual Arithmetic Conversion](ch15s03.html#id2758200)
+ [3.3\. 由赋值产生的类型转换](ch15s03.html#id2758516)
+ [3.4\. 强制类型转换](ch15s03.html#id2758655)
+ [3.5\. 编译器如何处理类型转换](ch15s03.html#id2758764)
+ [16\. 运算符详解](ch16.html)
+ [1\. 位运算](ch16s01.html)
+ [1.1\. 按位与、或、异或、取反运算](ch16s01.html#id2761062)
+ [1.2\. 移位运算](ch16s01.html#id2761805)
+ [1.3\. 掩码](ch16s01.html#id2761995)
+ [1.4\. 异或运算的一些特性](ch16s01.html#id2762114)
+ [2\. 其它运算符](ch16s02.html)
+ [2.1\. 复合赋值运算符](ch16s02.html#id2762352)
+ [2.2\. 条件运算符](ch16s02.html#id2762537)
+ [2.3\. 逗号运算符](ch16s02.html#id2762598)
+ [2.4\. sizeof运算符与typedef类型声明](ch16s02.html#id2762676)
+ [3\. Side Effect与Sequence Point](ch16s03.html)
+ [4\. 运算符总结](ch16s04.html)
+ [17\. 计算机体系结构基础](ch17.html)
+ [1\. 内存与地址](ch17s01.html)
+ [2\. CPU](ch17s02.html)
+ [3\. 设备](ch17s03.html)
+ [4\. MMU](ch17s04.html)
+ [5\. Memory Hierarchy](ch17s05.html)
+ [18\. x86汇编程序基础](ch18.html)
+ [1\. 最简单的汇编程序](ch18s01.html)
+ [2\. x86的寄存器](ch18s02.html)
+ [3\. 第二个汇编程序](ch18s03.html)
+ [4\. 寻址方式](ch18s04.html)
+ [5\. ELF文件](ch18s05.html)
+ [5.1\. 目标文件](ch18s05.html#id2770854)
+ [5.2\. 可执行文件](ch18s05.html#id2771639)
+ [19\. 汇编与C之间的关系](ch19.html)
+ [1\. 函数调用](ch19s01.html)
+ [2\. `main`函数和启动例程](ch19s02.html)
+ [3\. 变量的存储布局](ch19s03.html)
+ [4\. 结构体和联合体](ch19s04.html)
+ [5\. C内联汇编](ch19s05.html)
+ [6\. volatile限定符](ch19s06.html)
+ [20\. 链接详解](ch20.html)
+ [1\. 多目标文件的链接](ch20s01.html)
+ [2\. 定义和声明](ch20s02.html)
+ [2.1\. `extern`和`static`关键字](ch20s02.html#id2787367)
+ [2.2\. 头文件](ch20s02.html#id2788051)
+ [2.3\. 定义和声明的详细规则](ch20s02.html#id2788815)
+ [3\. 静态库](ch20s03.html)
+ [4\. 共享库](ch20s04.html)
+ [4.1\. 编译、链接、运行](ch20s04.html#id2789691)
+ [4.2\. 动态链接的过程](ch20s04.html#id2790795)
+ [4.3\. 共享库的命名惯例](ch20s04.html#id2791032)
+ [5\. 虚拟内存管理](ch20s05.html)
+ [21\. 预处理](ch21.html)
+ [1\. 预处理的步骤](ch21s01.html)
+ [2\. 宏定义](ch21s02.html)
+ [2.1\. 函数式宏定义](ch21s02.html#id2797214)
+ [2.2\. 内联函数](ch21s02.html#id2797661)
+ [2.3\. `#`、`##`运算符和可变参数](ch21s02.html#id2797840)
+ [2.4\. 宏展开的步骤](ch21s02.html#id2798306)
+ [3\. 条件预处理指示](ch21s03.html)
+ [4\. 其它预处理特性](ch21s04.html)
+ [22\. Makefile基础](ch22.html)
+ [1\. 基本规则](ch22s01.html)
+ [2\. 隐含规则和模式规则](ch22s02.html)
+ [3\. 变量](ch22s03.html)
+ [4\. 自动处理头文件的依赖关系](ch22s04.html)
+ [5\. 常用的`make`命令行选项](ch22s05.html)
+ [23\. 指针](ch23.html)
+ [1\. 指针的基本概念](ch23s01.html)
+ [2\. 指针类型的参数和返回值](ch23s02.html)
+ [3\. 指针与数组](ch23s03.html)
+ [4\. 指针与`const`限定符](ch23s04.html)
+ [5\. 指针与结构体](ch23s05.html)
+ [6\. 指向指针的指针与指针数组](ch23s06.html)
+ [7\. 指向数组的指针与多维数组](ch23s07.html)
+ [8\. 函数类型和函数指针类型](ch23s08.html)
+ [9\. 不完全类型和复杂声明](ch23s09.html)
+ [24\. 函数接口](ch24.html)
+ [1\. 本章的预备知识](ch24s01.html)
+ [1.1\. `strcpy`与`strncpy`](ch24s01.html#id2819066)
+ [1.2\. `malloc`与`free`](ch24s01.html#id2820062)
+ [2\. 传入参数与传出参数](ch24s02.html)
+ [3\. 两层指针的参数](ch24s03.html)
+ [4\. 返回值是指针的情况](ch24s04.html)
+ [5\. 回调函数](ch24s05.html)
+ [6\. 可变参数](ch24s06.html)
+ [25\. C标准库](ch25.html)
+ [1\. 字符串操作函数](ch25s01.html)
+ [1.1\. 初始化字符串](ch25s01.html#id2827594)
+ [1.2\. 取字符串的长度](ch25s01.html#id2827671)
+ [1.3\. 拷贝字符串](ch25s01.html#id2827741)
+ [1.4\. 连接字符串](ch25s01.html#id2828376)
+ [1.5\. 比较字符串](ch25s01.html#id2828656)
+ [1.6\. 搜索字符串](ch25s01.html#id2828881)
+ [1.7\. 分割字符串](ch25s01.html#id2829046)
+ [2\. 标准I/O库函数](ch25s02.html)
+ [2.1\. 文件的基本概念](ch25s02.html#id2829671)
+ [2.2\. fopen/fclose](ch25s02.html#id2829869)
+ [2.3\. stdin/stdout/stderr](ch25s02.html#id2830485)
+ [2.4\. errno与perror函数](ch25s02.html#id2830807)
+ [2.5\. 以字节为单位的I/O函数](ch25s02.html#id2831236)
+ [2.6\. 操作读写位置的函数](ch25s02.html#id2831814)
+ [2.7\. 以字符串为单位的I/O函数](ch25s02.html#id2832034)
+ [2.8\. 以记录为单位的I/O函数](ch25s02.html#id2832480)
+ [2.9\. 格式化I/O函数](ch25s02.html#id2832755)
+ [2.10\. C标准库的I/O缓冲区](ch25s02.html#id2834346)
+ [2.11\. 本节综合练习](ch25s02.html#id2834904)
+ [3\. 数值字符串转换函数](ch25s03.html)
+ [4\. 分配内存的函数](ch25s04.html)
+ [26\. 链表、二叉树和哈希表](ch26.html)
+ [1\. 链表](ch26s01.html)
+ [1.1\. 单链表](ch26s01.html#id2844144)
+ [1.2\. 双向链表](ch26s01.html#id2845376)
+ [1.3\. 静态链表](ch26s01.html#id2845707)
+ [1.4\. 本节综合练习](ch26s01.html#id2845773)
+ [2\. 二叉树](ch26s02.html)
+ [2.1\. 二叉树的基本概念](ch26s02.html#id2845875)
+ [2.2\. 排序二叉树](ch26s02.html#id2846120)
+ [3\. 哈希表](ch26s03.html)
+ [27\. 本阶段总结](ch27.html)
- Linux C编程一站式学习
- 历史
- 前言
- 部分 I. C语言入门
- 第 1 章 程序的基本概念
- 第 2 章 常量、变量和表达式
- 第 3 章 简单函数
- 第 4 章 分支语句
- 第 5 章 深入理解函数
- 第 6 章 循环语句
- 第 7 章 结构体
- 第 8 章 数组
- 第 9 章 编码风格
- 第 10 章 gdb
- 第 11 章 排序与查找
- 第 12 章 栈与队列
- 第 13 章 本阶段总结
- 部分 II. C语言本质
- 第 14 章 计算机中数的表示
- 第 15 章 数据类型详解
- 第 16 章 运算符详解
- 第 17 章 计算机体系结构基础
- 第 18 章 x86汇编程序基础
- 第 19 章 汇编与C之间的关系
- 第 20 章 链接详解
- 第 21 章 预处理
- 第 22 章 Makefile基础
- 第 23 章 指针
- 第 24 章 函数接口
- 第 25 章 C标准库
- 第 26 章 链表、二叉树和哈希表
- 第 27 章 本阶段总结
- 部分 III. Linux系统编程
- 第 28 章 文件与I/O
- 第 29 章 文件系统
- 第 30 章 进程
- 第 31 章 Shell脚本
- 第 32 章 正则表达式
- 第 33 章 信号
- 第 34 章 终端、作业控制与守护进程
- 第 35 章 线程
- 第 36 章 TCP/IP协议基础
- 第 37 章 socket编程
- 附录 A. 字符编码
- 附录 B. GNU Free Documentation License Version 1.3, 3 November 2008
- 参考书目
- 索引