指針的藝術(shù)
-
【作 者】蔡明志 著
【I S B N 】978-7-5084-6897-6
【責任編輯】楊慶川
【適用讀者群】科技
【出版時間】2009-10-01
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】
【千字數(shù)】
【印 張】
【定 價】¥59.8
【叢 書】魅力圣經(jīng)
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書主要探討C語言指針的基本概念及其與變量、數(shù)組、結(jié)構(gòu)體和文件之間的應(yīng)用,同時剖析C++、C++/CLR、Java、Visual C#及Visual Basic中的引用(Reference),并分別以指針和引用(Reference)實現(xiàn)鏈表、堆棧與隊列。
全書共七篇。針對以下14個主題,分別在C、C++、C++/CLR、Java、Visual C#及Visual Basic程序語言中比較其用法:變量的定義、算術(shù)運算符、關(guān)系運算符、邏輯運算符、輸出函數(shù)、輸入函數(shù)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)調(diào)用、指針與引用(Reference)、指向或引用(Reference)到空的表示法、動態(tài)分配內(nèi)存、回收內(nèi)存。
本書適合C、C++、C++/CLR、Java、Visual C#及Visual Basic程序設(shè)計人員使用,希望通過本書的內(nèi)容,能夠幫助讀者透徹理解指針的概念并在實踐中能夠靈活運用。書中所有范例代碼均可在配書光盤中找到。
本書為經(jīng)臺灣碁峰資訊股份有限公司獨家授權(quán)發(fā)行的中文簡體版。本書中文簡體字版在中國大陸之專有出版權(quán)屬中國水利水電出版社所有。在沒有得到本書原版出版者和本書出版者書面許可時,任何單位和個人不得擅自摘抄、復制本書的一部分或全部以任何方式(包括資料和出版物)進行傳播。本書原版版權(quán)屬碁峰資訊股份有限公司。版權(quán)所有,侵權(quán)必究。
C語言的特色就是“指針”(Pointer),讓人又愛又恨,讓熟悉它的人,將它比作是天上那一顆最美的星,而讓不懂的人,頭上冒星星,同樣是星星,但卻有不同的情境。
“指針好難,都不知道該怎么學”,常常會有人對我講這句話,并問我有沒有好方法可以“領(lǐng)悟”它。說實在的,真是慚愧,從1983年進入信息管理領(lǐng)域,因為工作關(guān)系,接觸C,接著在1985年到東吳大學計算器科學系(現(xiàn)在改為信息管理系)兼課,在1987年將上課的講義和心得,出版了我的第一本書《C程序語言及其應(yīng)用》,算一算到現(xiàn)在整整有二十幾年的時間了。聽到指針是如此難的問題,讓我心中很難過。擁護我的讀者也不在少數(shù),有些人常會跟我說,“C先生,我是看您的書長大的”。真誠地希望您們可以從書中獲取一些知識。再一次的謝謝您們,一路的相陪、支持與鼓勵,讓我有動力再出發(fā)。
責任在我,是我的錯,我沒盡力將它說明白,講清楚,使得大家有如此彷徨,裹足不前的問題。基于此,我在二、三年前就開始規(guī)劃,打算編寫一本以指針為中心的書,讓對指針不太懂的人,可以輕易了解指針的運作原理,讓懂的人可以精益求精。現(xiàn)在,已夢想成真,從書名《指針的藝術(shù)》,就可以知道它是您學習與深入了解指針最佳的讀本。
本書內(nèi)容精彩無比,除了對C語言的指針有深入的探討外,同時也將與指針有異曲同工之妙的引用(reference)詳加討論,所以本書不僅涉及C而已,還包括C++、C++/CLR、Java、Visual C# 及Visual Basic,有關(guān)引用的主題。其中要和大家分享心得的是,原本對Visual Basic沒什么好感,但此次接觸它,發(fā)現(xiàn)也不錯,若您的觀念和我先前一樣,不妨試試看,相信您會喜歡的。
本書是以指針為核心,以引用(reference)為輔。在C程序語言篇中,從內(nèi)存的基本概念開始展開,其中依次涉及,指針與變量、指針與數(shù)組、指針與函數(shù)、指針與字符串、指針與結(jié)構(gòu)體、鏈表、指針與文件等,希望有效引導讀者進入指針的世界。為了驗證指針與引用的相似功能,在之后的程序語言篇著重于如何以引用實現(xiàn)指針可以完成的事項,舉例以引用調(diào)用完成兩數(shù)對調(diào),傳遞數(shù)組到某一函數(shù)及鏈表、堆棧等有關(guān)數(shù)據(jù)結(jié)構(gòu)問題的實現(xiàn)。
本書的第七篇是比較篇,將C、C++、C++/CLR、Java、Visual C#及Visual Basic六種程序語言在程序語言基本架構(gòu)上的主題做一比較,希望此篇可以讓您一窺程序語言之美。
寫本書的心情不知為什么,總是覺得很愉快,因為我已做到了可以向讀者交待的事,那就是您可以從本書中輕輕松松地了解什么是指針,并告訴我,指針是天上那一顆最閃亮的星星,祝福您。
第1章 內(nèi)存的基本概念 3
1-1 變量 4
1-2 一維數(shù)組 5
1-3 二維數(shù)組 9
1-4 結(jié)構(gòu)體 11
1-5 問題演練 13
第2章 指針與變量 15
2-1 一顆星星:表示一把鑰匙 16
2-2 兩顆星星:表示兩把鑰匙 19
2-3 三顆星星:表示三把鑰匙 21
2-4 問題演練 23
第3章 指針與數(shù)組 25
3-1 指針與一維數(shù)組 26
3-2 指針與二維數(shù)組 32
3-3 數(shù)組指針 35
3-4 為什么parr等同于*parr 36
3-5 指向數(shù)組的指針 38
3-6 多重指針 44
3-7 命令行自變量 51
3-8 調(diào)試題 54
3-9 問題演練 55
3-10 程序?qū)崙?zhàn) 62
第4章 指針與函數(shù) 63
4-1 函數(shù)初探 64
4-2 兩數(shù)對調(diào) 64
4-3 再論傳址調(diào)用 66
4-3-1 尋找數(shù)組中的最大值 66
4-3-2 一維數(shù)組的元素求和 67
4-3-3 二維數(shù)組的元素求和 69
4-4 指向函數(shù)的指針 70
4-5 返回指針的函數(shù) 72
4-6 調(diào)試題 74
4-7 問題演練 77
4-8 程序?qū)崙?zhàn) 77
第5章 指針與字符串 79
5-1 字符串指針 80
5-2 常用的庫函數(shù) 83
5-2-1 計算字符串的長度 83
5-2-2 字符串的復制 84
5-2-3 字符串的連接 87
5-2-4 字符串的比較 88
5-3 調(diào)試題 93
5-4 程序?qū)崙?zhàn) 94
第6章 指針與結(jié)構(gòu)體 95
6-1 指向結(jié)構(gòu)體變量的指針 96
6-2 結(jié)構(gòu)體指針與自增運算符 100
6-3 結(jié)構(gòu)體與函數(shù) 102
6-4 自引用 105
6-5 調(diào)試題 111
6-6 問題演練 119
第7章 鏈表——以C程序?qū)崿F(xiàn) 121
7-1 單向鏈表 122
7-2 雙向鏈表 126
7-3 鏈表的應(yīng)用——堆棧的實現(xiàn) 130
7-4 鏈表的應(yīng)用——隊列的實現(xiàn) 134
7-5 程序?qū)崙?zhàn) 138
第8章 指針與文件 139
8-1 fprintf 與fscanf函數(shù) 140
8-2 fwrite與fread函數(shù) 143
8-3 當前文件的指針指向何處 145
8-4 fgetpos與fsetpos函數(shù) 147
8-5 rewind 149
8-6 程序?qū)崙?zhàn) 150
第二篇 C++程序語言篇
第9章 簡易Visual C++ 2008使用手冊 153
第10章 C++的reference 157
10-1 變量與reference 158
10-2 兩數(shù)對調(diào) 159
10-2-1 傳值調(diào)用 159
10-2-2 引用調(diào)用(call by reference) 160
10-3 結(jié)構(gòu)體與reference 163
10-4 類與reference 166
10-5 問題演練 171
10-6 程序?qū)崙?zhàn) 172
第11章 C++的this指針 173
11-1 this指針 174
11-2 股票買賣范例程序 177
11-3 程序?qū)崙?zhàn) 180
第12章 C++的new與delete 181
12-1 new、delete與變量 182
12-2 new、delete與數(shù)組 184
12-3 new、delete與結(jié)構(gòu)體 186
12-4 new、delete與類 187
12-5 程序?qū)崙?zhàn) 190
第13章 C++的復制構(gòu)造函數(shù) 191
13-1 復制構(gòu)造函數(shù) 192
13-2 重載賦值運算符 196
13-3 程序?qū)崙?zhàn) 200
第14章 虛函數(shù)、指針與reference 201
14-1 虛函數(shù) 202
14-2 程序?qū)崙?zhàn) 205
第15章 鏈表——以C++程序?qū)崿F(xiàn) 207
15-1 單向鏈表 208
15-2 雙向鏈表 213
15-3 堆棧 218
15-4 程序?qū)崙?zhàn) 220
第三篇 C++/CLR程序語言篇
第16章 簡易Visual C++/CLR使用手冊 223
第17章 淺談C++/CLR程序設(shè)計 227
17-1 可跟蹤的reference 228
17-2 可跟蹤的handle 228
17-3 數(shù)組 229
17-3-1 一維數(shù)組 229
17-3-2 二維數(shù)組 231
17-3-3 不規(guī)則數(shù)組 232
17-4 Interior指針 233
17-5 函數(shù) 233
17-5-1 兩數(shù)對調(diào) 233
17-5-2 找出數(shù)組的最大值 236
17-5-3 計算數(shù)組的總和 237
17-5-4 計算二維數(shù)組的總和 238
17-5-5 計算不規(guī)則數(shù)組的總和 239
17-6 程序?qū)崙?zhàn) 240
第18章 鏈表——以Visual C++/CLR實現(xiàn) 241
18-1 以單向鏈表處理數(shù)據(jù) 242
18-2 以雙向鏈表處理數(shù)據(jù) 245
18-3 使用鏈表實現(xiàn)堆棧 248
18-4 程序?qū)崙?zhàn) 250
第四篇 Java程序語言篇
第19章 簡易JCreator使用手冊 253
19-1 安裝JCreator編譯程序 254
19-2 編寫、編譯與運行程序 256
19-3 程序的調(diào)試(debug) 257
19-4 創(chuàng)建項目文件 258
第20章 變量、字符串與reference 259
20-1 變量與引用(reference) 260
20-2 字符串與引用(reference) 261
20-3 常用的字符串庫函數(shù) 264
20-4 程序?qū)崙?zhàn) 267
第21章 數(shù)組與reference 269
21-1 數(shù)組初探 270
21-2 數(shù)組的復制 275
21-3 如何傳送數(shù)組 278
21-4 二維數(shù)組 283
21-5 程序?qū)崙?zhàn) 286
第22章 類與reference 287
22-1 類與引用(reference) 288
22-2 復制構(gòu)造函數(shù) 291
22-3 this指針 297
22-4 程序?qū)崙?zhàn) 298
第23章 鏈表——以Java程序?qū)崿F(xiàn) 299
23-1 單向鏈表 300
23-2 雙向鏈表 304
23-3 堆棧的操作 310
23-4 程序?qū)崙?zhàn) 314
第五篇 Visual C# 2008程序語言篇
第24章 簡易Visual C#使用手冊 317
第25章 變量與reference 321
25-1 傳值調(diào)用 322
25-2 引用調(diào)用(call by reference) 323
25-3 特殊的參數(shù)out 324
25-4 程序?qū)崙?zhàn) 326
第26章 數(shù)組與reference 327
26-1 找出一維數(shù)組的最大值 328
26-2 一維數(shù)組的求和 329
26-3 二維數(shù)組的求和 330
26-4 不規(guī)則數(shù)組的求和 331
26-5 程序?qū)崙?zhàn) 332
第27章 鏈表——以Visual C#實現(xiàn) 333
27-1 數(shù)據(jù)的轉(zhuǎn)換 334
27-2 單向鏈表 334
27-3 雙向鏈表 338
27-4 鏈表的應(yīng)用——堆棧的實現(xiàn) 342
27-5 程序?qū)崙?zhàn) 346
第六篇 Visual Basic 2008程序語言篇
第28章 簡易Visual Basic使用手冊 349
第29章 函數(shù)與reference 353
29-1 傳值調(diào)用(call by value) 354
29-2 引用調(diào)用(call by reference) 354
29-3 程序?qū)崙?zhàn) 355
第30章 數(shù)組與reference 357
30-1 找出數(shù)組的最大值 358
30-2 數(shù)組的求和 360
30-2-1 一維數(shù)組的求和 360
30-2-2 二維數(shù)組的求和 361
30-3 不規(guī)則數(shù)組 362
30-4 程序?qū)崙?zhàn) 364
第31章 鏈表——以Visual Basic實現(xiàn) 365
31-1 鏈表的基本概念 366
31-2 單向鏈表 368
31-3 雙向鏈表 372
31-4 鏈表的應(yīng)用——堆棧的實現(xiàn) 376
31-5 程序?qū)崙?zhàn) 380
第七篇 比較篇
附錄A 解 答 393
- C語言程序設(shè)計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設(shè)計(第二版) [主編 甄增榮 田云霞]
- C語言程序設(shè)計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- C語言程序設(shè)計 [姜雪]
- C語言程序設(shè)計項目化教程(活頁式) [主編 張利華 潘曉利]
- C語言同步案例習題精解 [主編 肖朝暉]
- C語言程序設(shè)計(微課版) [主編 夏啟壽]
- C語言程序設(shè)計實踐教程 [夏啟壽]
- 單片機應(yīng)用技術(shù)項目教程(C語言版)(第三版) [主編 郭志勇]
- 數(shù)據(jù)結(jié)構(gòu)——C語言(微課版) [主編 梁海英]
- C程序設(shè)計簡明教程 [黃能耿 黃致遠 編著]
- C語言程序設(shè)計實驗指導與實訓 [主編 倪燃]
- 單片機原理及應(yīng)用技術(shù)(C語言版) [周國運 魯慶賓 趙天翔 編著]
- C#程序設(shè)計教程 [主編 李祥琴]
- C#數(shù)據(jù)庫編程技術(shù) [主編 顧家銘]
- 基于C#的可視化編程基礎(chǔ) [主編 張蕾蕾 黃健]
- C語言程序設(shè)計 [主編 楊娟 萬青]
- 物聯(lián)網(wǎng)編程與應(yīng)用(C#) [主編 王浩 王偉旗]
- C語言程序設(shè)計 [主編 王婧 劉政宇]
- Visual Basic程序設(shè)計教程 [主編 郭秀娟 于全通]
- C語言程序設(shè)計項目化教程 [主編 彭琦偉 周威]
- C語言程序設(shè)計案例教程 [主 編 劉素芬 張建軍 王宏斌]
- Visual Basic.NET程序設(shè)計上機實踐教程 [主編 何振林 羅奕]
- Visual Basic.NET程序設(shè)計 [主編 何振林 羅奕]
- C語言程序設(shè)計(第二版) [主編 丁紅 王輝]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版)習題解答及實訓指導 [李根強 謝月娥]
- 數(shù)據(jù)結(jié)構(gòu)(C語言版) [主編 李根強 劉浩 謝月娥]
- C語言程序設(shè)計習題與實驗指導 [主編 甄增榮 張賓]
- C語言程序設(shè)計 [主編 甄增榮 呂曉華]
- C語言程序設(shè)計 [主編 吳國鳳]