征服c指針 完整版 pdf_征服C指針 目錄
本文關(guān)鍵詞:征服C指針,由筆耕文化傳播整理發(fā)布。
目錄
第0章 本書(shū)的目標(biāo)與結(jié)構(gòu)——引言1
0.1 本書(shū)的目標(biāo)1
0.2 目標(biāo)讀者和內(nèi)容結(jié)構(gòu)3
第1章 從基礎(chǔ)開(kāi)始——預(yù)備知識(shí)和復(fù)習(xí)7
1.1 C是什么樣的語(yǔ)言7
1.1.1 比喻7
1.1.2 C的發(fā)展歷程8
1.1.3 不完備和不統(tǒng)一的語(yǔ)法9
1.1.4 ANSI C10
1.1.5 C的寶典——K&R11
1.1.6 C的理念12
1.1.7 C的主體14
1.1.8 C是只能使用標(biāo)量的語(yǔ)言15
1.2 關(guān)于指針16
1.2.1 惡名昭著的指針究竟是什么16
1.2.2 和指針的第一次親密接觸17
1.2.3 指針和地址之間的微妙關(guān)系23
1.2.4 指針運(yùn)算26
1.2.5 什么是空指針27
1.2.6 實(shí)踐——swap函數(shù)31
1.3 關(guān)于數(shù)組34
1.3.1 運(yùn)用數(shù)組34
1.3.2 數(shù)組和指針的微妙關(guān)系37
1.3.3 下標(biāo)運(yùn)算符[]和數(shù)組是沒(méi)有關(guān)系的39
1.3.4 為什么存在奇怪的指針運(yùn)算42
1.3.5 不要濫用指針運(yùn)算43
1.3.6 試圖將數(shù)組作為函數(shù)的參數(shù)進(jìn)行傳遞45
1.3.7 聲明函數(shù)形參的方法48
第2章 做個(gè)實(shí)驗(yàn)見(jiàn)分曉——C是怎么使用內(nèi)存的51
2.1 虛擬地址51
2.2 C的內(nèi)存的使用方法56
2.2.1 C的變量的種類(lèi)56
2.2.2 輸出地址58
2.3 函數(shù)和字符串常量61
2.3.1 只讀內(nèi)存區(qū)域61
2.3.2 指向函數(shù)的指針62
2.4 靜態(tài)變量64
2.4.1 什么是靜態(tài)變量64
2.4.2 分割編譯和連接64
2.5 自動(dòng)變量(棧)66
2.5.1 內(nèi)存區(qū)域的“重復(fù)使用”66
2.5.2 函數(shù)調(diào)用究竟發(fā)生了什么66
2.5.3 可變長(zhǎng)參數(shù)73
2.5.4 遞歸調(diào)用80
2.6 利用malloc()來(lái)進(jìn)行動(dòng)態(tài)內(nèi)存分配(堆)84
2.6.1 malloc()的基礎(chǔ)84
2.6.2 malloc()是“系統(tǒng)調(diào)用”嗎88
2.6.3 malloc()中發(fā)生了什么89
2.6.4 free()之后,,對(duì)應(yīng)的內(nèi)存區(qū)域會(huì)怎樣91
2.6.5 碎片化93
2.6.6 malloc()以外的動(dòng)態(tài)內(nèi)存分配函數(shù)94
2.7 內(nèi)存布局對(duì)齊98
2.8 字節(jié)排序101
2.9 關(guān)于開(kāi)發(fā)語(yǔ)言的標(biāo)準(zhǔn)和實(shí)現(xiàn)——對(duì)不起,前面的內(nèi)容都是忽悠的102
第3章 揭秘C的語(yǔ)法——它到底是怎么回事105
3.1 解讀C的聲明105
3.1.1 用英語(yǔ)來(lái)閱讀105
3.1.2 解讀C的聲明106
3.1.3 類(lèi)型名109
3.2 C的數(shù)據(jù)類(lèi)型的模型111
3.2.1 基本類(lèi)型和派生類(lèi)型111
3.2.2 指針類(lèi)型派生112
3.2.3 數(shù)組類(lèi)型派生113
3.2.4 什么是指向數(shù)組的指針114
3.2.5 C語(yǔ)言中不存在多維數(shù)組!116
3.2.6 函數(shù)類(lèi)型派生117
3.2.7 計(jì)算類(lèi)型的大小119
3.2.8 基本類(lèi)型121
3.2.9 結(jié)構(gòu)體和共用體122
3.2.10 不完全類(lèi)型123
3.3 表達(dá)式125
3.3.1 表達(dá)式和數(shù)據(jù)類(lèi)型125
3.3.2 “左值”是什么——變量的兩張面孔129
3.3.3 將數(shù)組解讀成指針130
3.3.4 數(shù)組和指針相關(guān)的運(yùn)算符132
3.3.5 多維數(shù)組133
3.4 解讀C的聲明(續(xù))137
3.4.1 const修飾符137
3.4.2 如何使用const?可以使用到什么程度?139
3.4.3 typedef141
3.5 其他143
3.5.1 函數(shù)的形參的聲明143
3.5.2 關(guān)于空的下標(biāo)運(yùn)算符[]146
3.5.3 字符串常量148
3.5.4 關(guān)于指向函數(shù)的指針引起的混亂151
3.5.5 強(qiáng)制類(lèi)型轉(zhuǎn)換152
3.5.6 練習(xí)——挑戰(zhàn)那些復(fù)雜的聲明153
3.6 應(yīng)該記。簲(shù)組和指針是不同的事物157
3.6.1 為什么會(huì)引起混亂157
3.6.2 表達(dá)式之中158
3.6.3 聲明160
第4章 數(shù)組和指針的常用方法161
4.1 基本的使用方法161
4.1.1 以函數(shù)返回值之外的方式來(lái)返回值161
4.1.2 將數(shù)組作為函數(shù)的參數(shù)傳遞162
4.1.3 可變長(zhǎng)數(shù)組163
4.2 組合使用166
4.2.1 可變長(zhǎng)數(shù)組的數(shù)組166
4.2.2 可變長(zhǎng)數(shù)組的可變長(zhǎng)數(shù)組172
4.2.3 命令行參數(shù)174
4.2.4 通過(guò)參數(shù)返回指針177
4.2.5 將多維數(shù)組作為函數(shù)的參數(shù)傳遞181
4.2.6 數(shù)組的可變長(zhǎng)數(shù)組182
4.2.7 糾結(jié)于“可變”之前,不妨考慮使用結(jié)構(gòu)體183
4.3 違反標(biāo)準(zhǔn)的技巧187
4.3.1 可變長(zhǎng)結(jié)構(gòu)體187
4.3.2 從1開(kāi)始的數(shù)組189
第5章 數(shù)據(jù)結(jié)構(gòu)——真正的指針的使用方法193
5.1 案例學(xué)習(xí)1:計(jì)算單詞的出現(xiàn)頻率193
5.1.1 案例的需求193
5.1.2 設(shè)計(jì)195
5.1.3 數(shù)組版200
5.1.4 鏈表版203
5.1.5 追加檢索功能211
5.1.6 其他的數(shù)據(jù)結(jié)構(gòu)214
5.2 案例學(xué)習(xí)2:繪圖工具的數(shù)據(jù)結(jié)構(gòu)218
5.2.1 案例的需求218
5.2.2 實(shí)現(xiàn)各種圖形的數(shù)據(jù)模型219
5.2.3 Shape型221
5.2.4 討論——還有別的方法嗎223
5.2.5 圖形的組合228
5.2.6 繼承和多態(tài)之道233
5.2.7 對(duì)指針的恐懼236
5.2.8 說(shuō)到底,指針究竟是什么237
第6章 其他——拾遺239
6.1 陷阱239
6.1.1 關(guān)于strncpy()239
6.1.2 如果在早期的C中使用float類(lèi)型的參數(shù)240
6.1.3 printf()和scanf()242
6.1.4 原型聲明的光和影243
6.2 慣用句法245
6.2.1 結(jié)構(gòu)體聲明245
6.2.2 自引用型結(jié)構(gòu)體246
6.2.3 結(jié)構(gòu)體的相互引用247
6.2.4 結(jié)構(gòu)體的嵌套248
6.2.5 共用體249
6.2.6 數(shù)組的初始化250
6.2.7 char數(shù)組的初始化250
6.2.8 指向char的指針的數(shù)組的初始化251
6.2.9 結(jié)構(gòu)體的初始化252
6.2.10 共用體的初始化252
6.2.11 全局變量的聲明253
【責(zé)任編輯:book TEL:(010)68476606】
回書(shū)目 上一節(jié) 下一節(jié)
原文:征服C指針 目錄 返回讀書(shū)頻道首頁(yè)
本文關(guān)鍵詞:征服C指針,由筆耕文化傳播整理發(fā)布。
本文編號(hào):131050
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/131050.html