C陷阱與缺陷

C陷阱與缺陷

《C陷阱與缺陷 》是人民郵電出版社2008年出版的書籍,作者是(美)凱尼格。 本書主要內容是從多個方面分析了C編程中可能遇到的問題。

基本信息

內容簡介

全書分為8章,分別從詞法分析、語法語義、連線、庫函式、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。最後,作者用一章的篇幅給出了若干具有實用價值的建議。

本書適合有一定經驗的C程式設計師閱讀學習,即便你是C編程高手,本書也應該成為你的案頭必備書籍。

作者以自己1985年在Bell實驗室時發表的一篇論文為基礎,結合自己的工作經驗擴展成為這本對C程式設計師具有珍貴价值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程式設計師繞過編程過程中的陷阱和障礙。

作品目錄

第0章導讀

第1章詞法“陷阱”

1.1=不同於==

1.2&和|不同於&&和||

1.3詞法分析中的“貪心法”

1.4整型常量

1.5字元與字元串

第2章語法“陷阱”

2.1理解函式聲明

2.2運算符的優先權問題

2.3注意作為語句結束標誌的分號

2.4switch語句

2.5函式調用

2.6“懸掛”else引發的問題

第3章語義“陷阱”

3.1指針與數組

3.2非數組的指針

3.3作為參數的數組聲明

3.4避免“舉隅法”

3.5空指針並非空字元串

3.6邊界計算與不對稱邊界

3.7求值順序

3.8運算符&&、||和!

3.9整數溢出

3.10為函式main提供返回值

第4章連線

4.1什麼是連線器

4.2聲明與定義

4.3命名衝突與static修飾符

4.4形參、實參與返回值

4.5檢查外部類型

4.6頭檔案

第5章庫函式

5.1返回整數的getchar函式

5.2更新順序檔案

5.3緩衝輸出與記憶體分配

5.4使用ernlo檢測錯誤

5.5庫函式signal

第6章預處理器

6.1不能忽視宏定義中的空格

6.2宏並不是函式

6.3宏並不是語句

6.4宏並不是類型定義

第7章可移植性缺陷

7.1應對C語言標準變更

7.2標識符名稱的限制

7.3整數的大小

7.4字元是有符號整數還是無符號整數

7.5移位運算符

7.6記憶體位置0

7.7除法運算時發生的截斷

7.8隨機數的大小

7.9大小寫轉換

7.10首先釋放,然後重新分配

7.11可移植性問題的一個例子

第8章建議與答案

8.1建議

8.2答案

附錄A:PRINTF,VARARGS與STDARG

附錄B:Koenig和Moo夫婦訪談

編輯推薦

AndrewKoenig自己在Bell實驗室時發表的論文為基礎,結合自己的工作經驗擴展成這本對C程式設計師具有珍貴价值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程式設計師繞過編程過程中的陷阱和障礙。

本書所揭示的知識,至少能夠幫助你減少C代碼和初級C++代碼中90%的Bug。

——FrancisGlassborow,ACCU主席

作者簡介

AndrewKoenigAT&T大規模程式研發部(莉貝爾實驗室)成員。他從1986年開始從事C語言的研究,1977年加入貝爾實驗室。在1989年ISO/ANSIC++委員會成立時,他就加入了該委員會,並一直擔任項目編輯;他還是《RumirlatiorlsonC++》(C++沉思錄)、《CTrapsandPitfalls》的作者。

相關詞條

相關搜尋

熱門詞條

聯絡我們