|
內(nèi)容提要
作者以自己1985年在Bell實(shí)驗(yàn)室時發(fā)表的一篇論文為基礎(chǔ),結(jié)合自己的工作經(jīng)驗(yàn)擴(kuò)展成為這本對C程序員具有珍貴價值的經(jīng)典著作。寫作本書的出發(fā)點(diǎn)不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
全書分為8章,分別從詞法分析、語法語義、連接、庫函數(shù)、預(yù)處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。最后,作者用一章的篇幅給出了若干具有實(shí)用價值的建議。
本書適合有一定經(jīng)驗(yàn)的C程序員閱讀學(xué)習(xí),即便你是C編程高手,本書也應(yīng)該成為你的案頭必備書籍。
目錄
第0章導(dǎo)讀
第1章詞法“陷阱”
1.1=不同于==
1.2&和|不同于&&和||
1.3詞法分析中的“貪心法”
1.4整型常量
1.5字符與字符串
第2章語法“陷阱”
2.1理解函數(shù)聲明
2.2運(yùn)算符的優(yōu)先級問題
2.3注意作為語句結(jié)束標(biāo)志的分號
2.4switch語句
2.5函數(shù)調(diào)用
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運(yùn)算符&&、||和!
3.9整數(shù)溢出
3.10為函數(shù)main提供返回值
第4章連接
4.1什么是連接器
4.2聲明與定義
4.3命名沖突與static修飾符
4.4形參、實(shí)參與返回值
4.5檢查外部類型
4.6頭文件
第5章庫函數(shù)
5.1返回整數(shù)的getchar函數(shù)
5.2更新順序文件
5.3緩沖輸出與內(nèi)存分配
5.4使用ernlo檢測錯誤
5.5庫函數(shù)signal
第6章預(yù)處理器
6.1不能忽視宏定義中的空格
6.2宏并不是函數(shù)
6.3宏并不是語句
6.4宏并不是類型定義
第7章可移植性缺陷
7.1應(yīng)對C語言標(biāo)準(zhǔn)變更
7.2標(biāo)識符名稱的限制
7.3整數(shù)的大小
7.4字符是有符號整數(shù)還是無符號整數(shù)
7.5移位運(yùn)算符
7.6內(nèi)存位置0
7.7除法運(yùn)算時發(fā)生的截斷
7.8隨機(jī)數(shù)的大小
7.9大小寫轉(zhuǎn)換
7.10首先釋放,然后重新分配
7.11可移植性問題的一個例子
第8章建議與答案
8.1建議
8.2答案
附錄A:PRINTF,VARARGS與STDARG
附錄B:Koenig和Moo夫婦訪談
下載地址:
[編程語言]C陷阱與缺陷.rar
(4.68 MB)
2014-3-4 07:28 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
|
|