注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合深入理解C指針

深入理解C指針

深入理解C指針

定 價(jià):¥45.00

作 者: (美)Richard Reese 著,陳曉亮 譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115344489 出版時(shí)間: 2014-02-01 包裝: 平裝
開本: 16開 頁數(shù): 188 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  指針是C語言的一項(xiàng)核心特性,對(duì)于指針的掌握程度是區(qū)分C語言新手與老手的重要標(biāo)志?!渡钊肜斫釩指針》專門研究指針,旨在提供比其他圖書更全面和深入的C 指針和內(nèi)存管理知識(shí)。全書巨細(xì)靡遺地為讀者展現(xiàn)了C語言編程中最重要的話題:C的動(dòng)態(tài)內(nèi)存管理、指針和函數(shù)、指針和數(shù)組、指針和字符串、指針和結(jié)構(gòu)體。作者還專門用一章篇幅講解了安全問題和指針誤用,讓讀者對(duì)指針的認(rèn)識(shí)又深入一層。全書每章都穿插了使用指針的注意事項(xiàng)和潛在陷阱,及時(shí)貼心地提示讀者在編程中避開此類問題?!渡钊肜斫釩指針》適合C和C++程序員和開發(fā)人員閱讀,也可作為計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)C語言的參考圖書。

作者簡(jiǎn)介

  Richard Reese,華盛頓州塔爾頓州立大學(xué)副教授。Reese自2002年起就在塔爾頓州立大學(xué)教授計(jì)算機(jī)科學(xué)課程,此前在洛克希德·馬丁公司做過十年的軟件開發(fā)。Reese著有多本技術(shù)圖書,包括Oracle Certified Associate,Java SE 7 Programmer Study Guide,Java 7 New Features Cookbook,EJB 3.1 CookBook等。 譯者簡(jiǎn)介:陳曉亮,美團(tuán)網(wǎng)iOS工程師,長(zhǎng)期關(guān)注Linux、iOS、C、Objective-C,推崇C語言,認(rèn)為程序員的C功底會(huì)直接影響Objective-C代碼質(zhì)量。他重視用戶體驗(yàn),喜歡干凈的代碼,業(yè)余時(shí)間喜歡讀書,經(jīng)常與大家探討技術(shù)問題,譯有《iOS6編程實(shí)戰(zhàn)》。

圖書目錄

前言 XI
第1章 認(rèn)識(shí)指針 1
1.1 指針和內(nèi)存 2
1.1.1 為什么要精通指針 3
1.1.2 聲明指針 5
1.1.3 如何閱讀聲明 6
1.1.4 地址操作符 7
1.1.5 打印指針的值 8
1.1.6 用間接引用操作符解引指針 10
1.1.7 指向函數(shù)的指針 10
1.1.8 null的概念 10
1.2 指針的長(zhǎng)度和類型 14
1.2.1 內(nèi)存模型 14
1.2.2 指針相關(guān)的預(yù)定義類型 15
1.3 指針操作符 18
1.3.1 指針?biāo)阈g(shù)運(yùn)算 19
1.3.2 比較指針 23
1.4 指針的常見用法 23
1.4.1 多層間接引用 23
1.4.2 常量與指針 24
1.5 小結(jié) 29
第2章 C的動(dòng)態(tài)內(nèi)存管理 31
2.1 動(dòng)態(tài)內(nèi)存分配 32
2.2 動(dòng)態(tài)內(nèi)存分配函數(shù) 36
2.2.1 使用malloc函數(shù) 36
2.2.2 使用calloc函數(shù) 39
2.2.3 使用realloc函數(shù) 40
2.2.4 alloca函數(shù)和變長(zhǎng)數(shù)組 42
2.3 用free函數(shù)釋放內(nèi)存 43
2.3.1 將已釋放的指針賦值為NULL 44
2.3.2 重復(fù)釋放 44
2.3.3 堆和系統(tǒng)內(nèi)存 45
2.3.4 程序結(jié)束前釋放內(nèi)存 46
2.4 迷途指針 46
2.4.1 迷途指針示例 47
2.4.2 處理迷途指針 48
2.4.3 調(diào)試器對(duì)檢測(cè)內(nèi)存泄漏的支持 49
2.5 動(dòng)態(tài)內(nèi)存分配技術(shù) 49
2.5.1 C的垃圾回收 50
2.5.2 資源獲取即初始化 50
2.5.3 使用異常處理函數(shù) 51
2.6 小結(jié) 52
第3章 指針和函數(shù) 53
3.1 程序的棧和堆 53
3.1.1 程序?!?4
3.1.2 棧幀的組織 55
3.2 通過指針傳遞和返回?cái)?shù)據(jù) 57
3.2.1 用指針傳遞數(shù)據(jù) 57
3.2.2 用值傳遞數(shù)據(jù) 58
3.2.3 傳遞指向常量的指針 59
3.2.4 返回指針 60
3.2.5 局部數(shù)據(jù)指針 61
3.2.6 傳遞空指針 62
3.2.7 傳遞指針的指針 63
3.3 函數(shù)指針 66
3.3.1 聲明函數(shù)指針 66
3.3.2 使用函數(shù)指針 67
3.3.3 傳遞函數(shù)指針 69
3.3.4 返回函數(shù)指針 69
3.3.5 使用函數(shù)指針數(shù)組 70
3.3.6 比較函數(shù)指針 71
3.3.7 轉(zhuǎn)換函數(shù)指針 71
3.4 小結(jié) 72
第4章 指針和數(shù)組 75
4.1 數(shù)組概述 76
4.1.1 一維數(shù)組 76
4.1.2 二維數(shù)組 77
4.1.3 多維數(shù)組 78
4.2 指針表示法和數(shù)組 78
4.3 用malloc創(chuàng)建一維數(shù)組 81
4.4 用realloc調(diào)整數(shù)組長(zhǎng)度 82
4.5 傳遞一維數(shù)組 85
4.5.1 用數(shù)組表示法 85
4.5.2 用指針表示法 86
4.6 使用指針的一維數(shù)組 87
4.7 指針和多維數(shù)組 89
4.8 傳遞多維數(shù)組 91
4.9 動(dòng)態(tài)分配二維數(shù)組 94
4.9.1 分配可能不連續(xù)的內(nèi)存 94
4.9.2 分配連續(xù)內(nèi)存 95
4.10 不規(guī)則數(shù)組和指針 96
4.11 小結(jié) 99
第5章 指針和字符串 101
5.1 字符串基礎(chǔ) 101
5.1.1 字符串聲明 102
5.1.2 字符串字面量池 103
5.1.3 字符串初始化 104
5.2 標(biāo)準(zhǔn)字符串操作 108
5.2.1 比較字符串 108
5.2.2 復(fù)制字符串 109
5.2.3 拼接字符串 111
5.3 傳遞字符串 114
5.3.1 傳遞簡(jiǎn)單字符串 114
5.3.2 傳遞字符常量的指針 116
5.3.3 傳遞需要初始化的字符串 116
5.3.4 給應(yīng)用程序傳遞參數(shù) 118
5.4 返回字符串 119
5.4.1 返回字面量的地址 119
5.4.2 返回動(dòng)態(tài)分配內(nèi)存的地址 120
5.5 函數(shù)指針和字符串 122
5.6 小結(jié) 124
第6章 指針和結(jié)構(gòu)體 125
6.1 介紹 125
6.2 結(jié)構(gòu)體釋放問題 128
6.3 避免malloc/free開銷 131
6.4 用指針支持?jǐn)?shù)據(jù)結(jié)構(gòu) 133
6.4.1 單鏈表 134
6.4.2 用指針支持隊(duì)列 141
6.4.3 用指針支持棧 143
6.4.4 用指針支持樹 145
6.5 小結(jié) 148
第7章 安全問題和指針誤用 149
7.1 指針的聲明和初始化 150
7.1.1 不恰當(dāng)?shù)闹羔樎暶鳌?50
7.1.2 使用指針前未初始化 151
7.1.3 處理未初始化指針 151
7.2 指針的使用問題 152
7.2.1 測(cè)試NULL 153
7.2.2 錯(cuò)誤使用解引操作 153
7.2.3 迷途指針 154
7.2.4 越過數(shù)組邊界訪問內(nèi)存 154
7.2.5 錯(cuò)誤計(jì)算數(shù)組長(zhǎng)度 155
7.2.6 錯(cuò)誤使用sizeof操作符 156
7.2.7 一定要匹配指針類型 156
7.2.8 有界指針 157
7.2.9 字符串的安全問題 157
7.2.10 指針?biāo)阈g(shù)運(yùn)算和結(jié)構(gòu)體 158
7.2.11 函數(shù)指針的問題 160
7.3 內(nèi)存釋放問題 161
7.3.1 重復(fù)釋放 162
7.3.2 清除敏感數(shù)據(jù) 162
7.4 使用靜態(tài)分析工具 163
7.5 小結(jié) 164
第8章 其他重要內(nèi)容 165
8.1 轉(zhuǎn)換指針 166
8.1.1 訪問特殊用途的地址 167
8.1.2 訪問端口 168
8.1.3 用DMA訪問內(nèi)存 169
8.1.4 判斷機(jī)器的字節(jié)序 169
8.2 別名、強(qiáng)別名和restrict關(guān)鍵字 170
8.2.1 用聯(lián)合體以多種方式表示值 171
8.2.2 強(qiáng)別名 172
8.2.3 使用restrict關(guān)鍵字 173
8.3 線程和指針 174
8.3.1 線程間共享指針 175
8.3.2 用函數(shù)指針支持回調(diào) 177
8.4 面向?qū)ο蠹夹g(shù) 179
8.4.1 創(chuàng)建和使用不透明指針 179
8.4.2 C中的多態(tài) 182
8.5 小結(jié) 187
關(guān)于作者和封面 188

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)