作者以自己1985年在Bell實驗室時發表的一篇論文為基礎,結合自己的工作經驗擴展成為這本對C程序員具有珍貴價值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
全書分為 8章,分別從詞法分析、語法語義、連接、庫函數、預處理器、可移植性缺陷等幾個方面分析了C編程中可能遇到的問題。后,作者用一章的篇幅給出了若干具有實用價值的建議。
本書適合有一定經驗的C程序員閱讀學習,即便你是C編程高手,本書也應該成為你的案頭必備書籍。
Andrew Koenig自己在Bell實驗室時發表的論文為基礎,結合自己的工作經驗擴展成這本對C程序員具有珍貴價值的經典著作。寫作本書的出發點不是要批判C語言,而是要幫助C程序員繞過編程過程中的陷阱和障礙。
本書所揭示的知識,至少能夠幫助你減少C代碼和初級C 代碼中90%的Bug。
——Francis Glassborow,ACCU主席
Andrew Koenig AT&T大規模程序研發部(莉貝爾實驗室)成員。他從1 986年開始從事C語言的研究,1977年加入貝爾實驗室。在1989年ISO/ANSI C 委員會成立時,他就加入了該委員會,并一直擔任項目編輯;他還是《Rumirlatio rls on C 》(C 沉思錄)、《CTraps and Pitfalls》的
第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 使用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夫婦訪談
我是搞C++的,但學學C也是有好處的,因為對很多人來說C與C++的區別,有很多相似的東西,學好了C本身就能把C++中的東西搞懂
算是我買的書當中最便宜的了,而且還被唱的這么響
粗略翻了一下,這本書的英文原版比較老了,里面的很多代碼看起來不是那么優美。不過無所謂了,本書主要目的就是在學C的過程中少走一些彎路,抓住重點即可
很經典的書,總結了很多C語言編程容易犯的錯誤,是一本值得反復翻閱的C語言進階書
教給你一些C程序設計中沒有說到的東西~~C的一些易錯點和注意點,也是C的缺陷呀
如果你有一定的C語言開發經驗的話,那么你會發現這本書真的不錯,他把以前你所犯的錯誤基本上給支出來了,還有一些原來理解不透徹的東西,不管是誰讀了,我相信都會有收獲的!呵呵
C語言博大精深,要想真正掌握C語言,談何容易?閱讀此書,可以幫助我們客觀評價C語言,汲取營養,避免陷阱,可謂受益匪淺。
這本書對于學習C語言編程人員來說,是本好書
三劍客里最薄的一本,但是是字體最大,看得最舒服的一本。c程序員進階之書。折扣買的,很實惠,但是配送有點慢
C語言的精華,不僅提醒我注意編程時容易發生的錯誤,還讓我對C有了更加深刻的認識,而且對C++的低級編程也有很大幫助!
C語言陷阱和缺陷就是在你編程到一定基礎了之后會慢慢的出現一些常見的和不常見的錯誤,本書可以很好的總結出這些典型的錯誤,來提高編程的能力。
將C使用過程中容易發生的錯誤列舉了出來,很實用
這本書我看了兩遍!真是不看不知道啊!BUG真是無處不在!在編寫程序方面,真是事無巨細,都得認真的完成!(當然這還不一定能排除所有的BUG)但是這對于現階段的我而言,只能做到這些!相信不久的將來自己也能夠成為大師!
C程序員的進階必讀書籍~~從這本書中感覺收獲了非常多
C語言的必讀書,但是如果不是有經驗的C程序員可能會體會不到它的價值。。。。
C學習路上的重要經典書籍,我身邊搞C開發的小伙伴基本都有這本書。
無論怎樣選星星,評價的標語都是對本書實質內容的評價,我想說的是,毫無疑問這事一本好書,內容無可挑剔。但是質量不敢恭維。與盜版無異。我想,這不是作者的問題,也不可能是出版社的問題,仔細看來這還未必是真的出自人民郵電
這是C語言編程領域的經典教材,常看到別人引用這本書,所以就買了。
C語言的創始人,寫的東西確實很經典,雖然很多錯誤很容易規避,但是一些平時想不到的位置,作者也指出來了,,,很好,,,這本書應該算是C語言的必備書籍之一吧....雖然很薄,但是處處是精華....
C語言經典之作,很多編程的細節講的很清楚,有些陷阱有經驗的C語言程序員也犯的錯誤,讓我受益匪淺。
這本書是老師建議才買的,書拿到手,還沒有仔細看,但是書中對于程序的書寫,印刷上雖說很清楚但是與其他C程序方面的書來講就不怎么好了。快遞因為某些原因耽誤了一天,但是當當上給我發了郵件。服務態度很好拉~
要想深入理解C語言,沒有這本書和《C專家編程》是不行的。薄薄一本小冊子,適合隨身攜帶,偶爾翻一兩頁,總會有新的收獲。不過,由于成書太早,本書中也有部分內容比較陳舊,但這絲毫不影響它在C語言書籍中的地位。
這本書雖然著于1989年,但其中的要點卻不過時,講的全是C語言的精華,不僅使我可以注意編程時容易發生的錯誤,還讓我對C有了更加深刻的認識,而且對C++的低級編程也有很大幫助,與《C專家編程》,兩者配合,會對C有一個更加深刻機全面的認識,比如數組和指針的問題。
這書是本好書,介紹的很好,讓人很容易看到C語言的問題,讓我們明白自己對C語言的了解和對自身的不足,提高了我們對C語言的認識,我很喜歡,可以讓我們對C語言進一步的了解,希望以后能在出現類似的好書,讓我們加深學習。謝謝作者
應該說對于每一個用C寫程序的人來說都是一本常讀常新的參考書,如果你曾經因為一個程序在編譯過程中出現問題,百思不得其解,不妨回憶下這本書所歸納的內容,查找是否落入陷阱。作者把工作中的所遇到的麻煩和問題總結在這本書上,很多內容或許你曾親身經歷,或者深有體會,再度重溫一下那些寫C過程的經歷和感受還是很好的...推薦