《征服C指標》
基本資料
作者: (日)前橋和彌 [作譯者介紹]
譯者: 吳雅明
叢書名: 圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115301215
上架時間:2013-2-7
出版日期:2013 年2月
開本:16開
頁碼:1
版次:1-1
所屬分類:電腦 > 軟體與程式設計 > C/Turbo C > C
更多關於 》》》《征服C指標》
內容簡介
電腦書籍
《征服c指標》被稱為日本最有營養的c 參考書。作者是日本著名的“毒舌程式員”,其言辭犀利,觀點鮮明,往往能讓讀者迅速領悟要領。
《征服c指標》中結合了作者多年的編程經驗和感悟,從c 語言指標的概念講起,通過實驗一步一步地為我們解釋了指標和數組、記憶體、資料結構的關係,展現了指標的常見用法,揭示了各種提示。另外,還通過獨特的方式教會我們怎樣解讀c 語言那些讓人“糾結”的聲明文法,如何繞過c 指標的陷阱。
《征服c指標》適合c 語言中級學習者閱讀,也可作為電腦專業學生學習c 語言的參考。
目錄
《征服c指標》
第0章 本書的目標與結構——引言 1
0.1 本書的目標 1
0.2 目標讀者和內容結構 3
第1章 從基礎開始——預備知識和複習 7
1.1 c是什麼樣的語言 7
1.1.1 比喻 7
1.1.2 c的發展曆程 8
1.1.3 不完備和不統一的文法 9
1.1.4 ansi c 10
1.1.5 c的寶典——k&r 11
1.1.6 c的理念 12
1.1.7 c的主體 14
1.1.8 c是只能使用標量的語言 15
1.2 關於指標 16
1.2.1 惡名昭著的指標究竟是什麼 16
1.2.2 和指標的第一次親密接觸 17
1.2.3 指標和地址之間的微妙關係 23
1.2.4 指標運算 26
1.2.5 什麼是null 指標 27
.1.2.6 實踐——swap函數 31
1.3 關於數組 34
1.3.1 運用數組 34
1.3.2 數組和指標的微妙關係 37
1.3.3 下標運算子[]和數組是沒有關係的 39
1.3.4 為什麼存在奇怪的指標運算 42
1.3.5 不要濫用指標運算 43
1.3.6 試圖將數組作為函數的參數進行傳遞 45
1.3.7 聲明函數形參的方法 48
第2章 做個實驗見分曉——c是怎麼使用記憶體的 51
2.1 虛擬位址 51
2.2 c的記憶體的使用方法 56
2.2.1 c的變數的種類 56
2.2.2 輸出地址 58
2.3 函數和字串常量 61
2.3.1 唯讀記憶體地區 61
2.3.2 指向函數的指標 62
2.4 靜態變數 64
2.4.1 什麼是靜態變數 64
2.4.2 分割編譯和串連 64
2.5 自動變數(棧) 66
2.5.1 記憶體地區的“重複使用” 66
2.5.2 函數調用究竟發生了什麼 66
2.5.3 可變長參數 73
2.5.4 遞迴調用 80
2.6 利用malloc()來進行動態記憶體分配(堆) 84
2.6.1 malloc()的基礎 84
2.6.2 malloc()是“系統調用”嗎 88
2.6.3 malloc()中發生了什麼 89
2.6.4 free()之後,對應的記憶體地區會怎樣 91
2.6.5 片段化 93
2.6.6 malloc()以外的動態記憶體分配函數 94
2.7 記憶體布局對齊 98
2.8 位元組排序 101
2.9 關於開發語言的標準和實現——對不起,前面的內容都是忽悠的 102
第3章 揭秘c的文法——它到底是怎麼回事 105
3.1 解讀c的聲明 105
3.1.1 用英語來閱讀 105
3.1.2 解讀c的聲明 106
3.1.3 類型名 109
3.2 c的資料類型的模型 111
3.2.1 基本類型和衍生類別型 111
3.2.2 指標類型派生 112
3.2.3 數群組類型派生 113
3.2.4 什麼是指向數組的指標 114
3.2.5 c語言中不存在多維陣列! 116
3.2.6 函數類型派生 117
3.2.7 計算類型的大小 119
3.2.8 基本類型 121
3.2.9 結構體和共用體 122
3.2.10 不完全類型 123
3.3 運算式 125
3.3.1 運算式和資料類型 125
3.3.2 “左值”是什麼——變數的兩張面孔 129
3.3.3 將數組解讀成指標 130
3.3.4 數組和指標相關的運算子 132
3.3.5 多維陣列 133
3.4 解讀c的聲明(續) 137
3.4.1 const修飾符 137
3.4.2 如何使用const?可以使用到什麼程度? 139
3.4.3 typedef 141
3.5 其他 143
3.5.1 函數的形參的聲明 143
3.5.2 關於空的下標運算子[] 146
3.5.3 字串常量 148
3.5.4 關於指向函數的指標引起的混亂 151
3.5.5 強制類型轉換 152
3.5.6 練習——挑戰那些複雜的聲明 153
3.6 應該記住:數組和指標是不同的事物 157
3.6.1 為什麼會引起混亂 157
3.6.2 運算式之中 158
3.6.3 聲明 160
第4章 數組和指標的常用方法 161
4.1 基本的使用方法 161
4.1.1 以函數傳回值之外的方式來傳回值 161
4.1.2 將數組作為函數的參數傳遞 162
4.1.3 可變長數組 163
4.2 組合使用 166
4.2.1 可變長數組的數組 166
4.2.2 可變長數組的可變長數組 172
4.2.3 命令列參數 174
4.2.4 通過參數返回指標 177
4.2.5 將多維陣列作為函數的參數傳遞 181
4.2.6 數組的可變長數組 182
4.2.7 糾結於“可變”之前,不妨考慮使用結構體 183
4.3 違反標準的技巧 187
4.3.1 可變長結構體 187
4.3.2 從1開始的數組 189
第5章 資料結構——真正的指標的使用方法 193
5.1 案例學習1:計算單詞的出現頻率 193
5.1.1 案例的需求 193
5.1.2 設計 195
5.1.3 數組版 200
5.1.4 鏈表版 203
5.1.5 追加檢索功能 211
5.1.6 其他的資料結構 214
5.2 案例學習2:繪圖工具的資料結構 218
5.2.1 案例的需求 218
5.2.2 實現各種圖形的資料模型 219
5.2.3 shape型 221
5.2.4 討論——還有別的方法嗎 223
5.2.5 圖形的組合 228
5.2.6 繼承和多態之道 233
5.2.7 對指標的恐懼 236
5.2.8 說到底,指標究竟是什麼 237
第6章 其他——拾遺 239
6.1 陷阱 239
6.1.1 關於strncpy() 239
6.1.2 如果在早期的c中使用float類型的參數 240
6.1.3 printf()和scanf() 242
6.1.4 原型聲明的光和影 243
6.2 慣用句法 245
6.2.1 結構體聲明 245
6.2.2 自引用型結構體 246
6.2.3 結構體的相互引用 247
6.2.4 結構體的嵌套 248
6.2.5 共用體 249
6.2.6 數組的初始化 250
6.2.7 char數組的初始化 250
6.2.8 指向char的指標的數組的初始化 251
6.2.9 結構體的初始化 252
6.2.10 共用體的初始化 252
6.2.11 全域變數的聲明 253
本圖書資訊來源:中國互動出版網