作 者:(美)安德魯·凱尼格 著 高巍 譯
定 價:49
出 版 社:人民郵電出版社
出版日期:2020年08月01日
頁 數:192
裝 幀:平裝
ISBN:9787115521279
1.ACCU主席Francis Glassborow傾力推薦,影響了國內外好幾代程序員的經典作品;2.C++業界資深技術大神、C++標準委員會成員、C++沉思錄作者Andrew Koenig的成名著作;3.靠前30餘年,中文版累銷100000+冊;4.本書的出發點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。聆聽大師教誨 掌握編程精髓本書對會讓程序預期行為與實際行為產生很大不同的C語言特性進行了詳細介紹。本書通過具體的案例和有幫助的建議來演示並介紹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夫婦訪談
本書作者以自己1985年在貝爾實驗室時發表的一篇論文為基礎,結合自己的工作經驗將這篇論文擴展成對C程序員具有珍貴價值的經典著作。本書的出發點不是批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。全書分為8章,分別從詞法陷阱、語法陷阱、語義陷阱、鏈接、庫函數、預處理器、可一致性缺陷等幾個方面分析了C編程中可能遇到的問題。最後,作者用一章的篇幅給出了若干具有實用價值的建議。本書適合有一定經驗的C程序員閱讀學習,即便你是C編程高手,本書也應該成為你的案頭推薦圖書。
(美)安德魯·凱尼格 著 高巍 譯
Andrew Koenig,AT&T大規模程序研發部(前貝爾實驗室)成員。他從1986年開始從事C語言的研究,1977年加入貝爾實驗室。他編寫了一些早期的類庫,並在1988年組織召開了第一個具有相當規模的C++會議。在ISO/ANSI C++委員會成立的1989年,他就加入了該委員會,並一直擔任項目編輯。他已經發表了100多篇C++方面的論文,並在Addsion-Wesley出版了C Traps and Pitfalls 一書(中文版名為《C缺陷與陷阱》,由人民郵電出版社出版),還應邀到世界各地演講。Anderw Koenig不僅有著多年的C++開發、研究和教學經驗,而且還親身參與了C++的等