第0章 導讀 第1章 詞法“陷阱”
1.1 =不同于==
1.2 & 和 | 不同于&& 和 ||
1.3 詞法分析中的“貪心法”
1.4 整型常量
1.5 字符與字符串 第2章 語法“陷阱”
2.1 理解函數(shù)聲明
2.2 運算符的優(yōu)先級問題
2.3 注意作為語句結束標志的分號
2.4 switch語句
2.5 函數(shù)調用
2.6 “懸掛”else引發(fā)的問題 第3章 語義“陷阱”
3.1 指針與數(shù)組
3.2 非數(shù)組的指針
3.3 作為參數(shù)的數(shù)組聲明
3.4 避免“舉隅法”
3.5 空指針并非空字符串
3.6 邊界計算與不對稱邊界
3.7 求值順序
3.8 運算符&&、|| 和 !
3.9 整數(shù)溢出
3.10 為函數(shù)main提供返回值 第4章 連接
4.1 什么是連接器
4.2 聲明與定義
4.3 命名沖突與static修飾符
4.4 形參、實參與返回值
4.5 檢查外部類型
4.6 頭文件 第5章 庫函數(shù)
5.1 返回整數(shù)的getchar函數(shù)
5.2 更新順序文件
5.3 緩沖輸出與內存分配
5.4 使用errno檢測錯誤
5.5 庫函數(shù)signal 第6章 預處理器
6.1 不能忽視宏定義中的空格
6.2 宏并不是函數(shù)
6.3 宏并不是語句
6.4 宏并不是類型定義 第7章 可移植性缺陷
7.1 應對C語言標準變更
7.2 標識符名稱的限制
7.3 整數(shù)的大小
7.4 字符是有符號整數(shù)還是無符號整數(shù)
7.5 移位運算符
7.6 內存位置0
7.7 除法運算時發(fā)生的截斷
7.8 隨機數(shù)的大小
7.9 大小寫轉換
7.10 首先釋放,然后重新分配
7.11 可移植性問題的一個例子 第8章 建議與答案
8.1 建議
8.2 答案 附錄 PRINTF,VARARGS與STDARG