# 部分?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
- 參考書目
- 索引