圖書信息
出版社: 人民郵電出版社; 第2版 (2008年2月1日)
叢書名: C和C++經典著作
平裝: 172頁
正文語種: 簡體中文
開本: 16
ISBN: 9787115171795
條形碼: 9787115171795
尺寸: 23.6 x 16 x 1.2 cm
重量: 281 g
作者簡介
Andrew Koenig AT&T大規模程式研發部(莉貝爾實驗室)成員。他從1 986年開始從事C語言的研究,1977年加入貝爾實驗室。在1989年ISO/ANSI C++委員會成立時,他就加入了該委員會,並一直擔任項目編輯;他還是《Rumirlatio rls on C++》(C++沉思錄)、《CTraps and Pitfalls》的作者。
內容簡介
《C和C++經典著作?C陷阱與缺陷》適合有一定經驗的C程式設計師閱讀學習,即便你是C編程高手,《C和C++經典著作?C陷阱與缺陷》也應該成為你的案頭必備書籍。作者以自己1985年在Bell實驗室時發表的一篇論文為基礎,結合自己的工作經驗擴展成為這本對C程式設計師具有珍貴价值的經典著作。寫作《C和C++經典著作?C陷阱與缺陷》的出發點不是要批判C語言,而是要幫助C程式設計師繞過編程過程中的陷阱和障礙。《C和C++經典著作?C陷阱與缺陷》分為8章,分別從詞法分析、語法語義、連線、庫函式、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。最後,作者用一章的篇幅給出了若干具有實用價值的建議。
目錄
第0章 導讀
第1章 詞法“陷阱”
1.1 =不同於==
1.2 & 和 | 不同於&& 和 ||
1.3 詞法分析中的“貪心法”
1.4 整型常量
1.5 字元與字元串
第2章 語法“陷阱”
2.1 理解函式聲明
2.2 運算符的優先權問題
2.3 注意作為語句結束標誌的分號
2.4 switch語句
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 使用errno檢測錯誤
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夫婦訪談