C专家编程Expert C Programming Deep C Secrets(C和C++经典著作)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
品牌: Peter Van Der Linden
基本信息·出版社:人民邮电出版社
·页码:291 页
·出版日期:2008年
·ISBN:9787115171801
·条形码:9787115171801
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:C和C++经典著作
产品信息有问题吗?请帮我们更新产品信息。
内容简介《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。全书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们站在C的高度了解和学习C++。
媒体推荐�
编辑推荐《C专家编程》撷取了几十个实例,细致、深入地讲解了C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及分析了如何进一步学习C++等问题。 本书是一本ANSI C编程语言的高级读本。它适用于已经编写过C程序的人,以及那些想迅速获取一些专家观点和技巧的人。
专家级的C编程指南展示优秀C程序员的编程技巧。
即使你读过Andy Koneig的《C陷阱与缺陷》,你还是应该看看Peter Van Der Linden的书。我想,他们两人的书称都应该千方百计的搞到,如获至宝地捧读。如果我是你的上司,这是必须的要求。
——Francis Glassborow,ACCU主席
专业书评�
目录
第1章C:穿越时空的迷雾1
1.1C语言的史前阶段1
1.2C语言的早期体验4
1.3标准I/O库和C预处理器5
1.4K&R C8
1.5今日之ANSI C10
1.6它很棒,但它符合标准吗12
1.7编译限制14
1.8ANSI C标准的结构15
1.9阅读ANSI C标准,寻找乐趣和裨益19
1.10“安静的改变”究竟有多少安静22
1.11轻松一下——由编译器定义的Pragmas效果25
第2章这不是Bug,而是语言特性27
2.1这关语言特性何事,在Fortran里这就是Bug呀27
2.2多做之过29
2.3误做之过36
2.4少做之过43
2.5轻松一下——有些特性确实就是Bug51
2.6参考文献53
第3章分析C语言的声明55
3.1只有编译器才会喜欢的语法56
3.2声明是如何形成的58
3.3优先级规则63
3.4通过图表分析C语言的声明65
3.5typedef可以成为你的朋友67
3.6typedef int x[10]和#define x int[10]的区别68
3.7typedef struct foo{ ... foo; }的含义69
3.8理解所有分析过程的代码段71
3.9轻松一下——驱动物理实体的软件73
第4章令人震惊的事实:数组和指针并不相同81
4.1数组并非指针81
4.2我的代码为什么无法运行81
4.3什么是声明,什么是定义82
4.4使声明与定义相匹配86
4.5数组和指针的其他区别86
4.6轻松一下——回文的乐趣88
第5章对链接的思考91
5.1函数库、链接和载入91
5.2动态链接的优点94
5.3函数库链接的5个特殊秘密98
5.4警惕Interpositioning102
5.5产生链接器报告文件107
5.6轻松一下——看看谁在说话:挑战Turing测验108
第6章运动的诗章:运行时数据结构115
6.1a.out及其传说116
6.2段117
6.3操作系统在a.out文件里干了些什么119
6.4C语言运行时系统在a.out里干了些什么121
6.5当函数被调用时发生了什么:过程活动记录123
6.6auto和static关键字126
6.7控制线程128
6.8setjmp和longjmp128
6.9UNIX中的堆栈段130
6.10MS-DOS中的堆栈段130
6.11有用的C语言工具131
6.12轻松一下——卡耐基-梅隆大学的编程难题134
6.13只适用于高级学员阅读的材料136
第7章对内存的思考137
7.1Intel 80x86系列137
7.2Intel 80x86内存模型以及它的工作原理141
7.3虚拟内存145
7.4Cache存储器148
7.5数据段和堆152
7.6内存泄漏153
7.7总线错误157
7.8轻松一下——“Thing King”和“页面游戏”163
第8章为什么程序员无法分清万圣节和圣诞节169
8.1Portzebie度量衡系统169
8.2根据位模式构筑图形170
8.3在等待时类型发生了变化172
8.4原型之痛174
8.5原型在什么地方会失败176
8.6不需要按回车键就能得到一个字符179
8.7用C语言实现有限状态机183
8.8软件比硬件更困难185
8.9如何进行强制类型转换,为何要进行类型强制转换187
8.10轻松一下——国际C语言混乱代码大赛189
第9章再论数组199
9.1什么时候数组与指针相同199
9.2为什么会发生混淆200
9.3为什么C语言把数组形参当作指针205
9.4数组片段的下标208
9.5数组和指针可交换性的总结209
9.6C语言的多维数组209
9.7轻松一下——软件/硬件平衡215
第10章再论指针219
10.1多维数组的内存布局219
10.2指针数组就是Iliffe向量220
10.3在锯齿状数组上使用指针223
10.4向函数传递一个一维数组226
10.5使用指针向函数传递一个多维数组227
10.6使用指针从函数返回一个数组230
10.7使用指针创建和使用动态数组232
10.8轻松一下——程序检验的限制237
第11章你懂得C,所以C++不在话下241
11.1初识OOP241
11.2抽象——取事物的本质特性243
11.3封装——把相关的类型、数据和函数组合在一起245
11.4展示一些类——用户定义类型享有和预定义类型一样的权限246
11.5访问控制247
11.6声明247
11.7如何调用成员函数249
11.8继承——复用已经定义的操作251
11.9多重继承——从两个或更多的基类派生255
11.10重载——作用于不同类型的同一操作具有相同的名字256
11.11C++如何进行操作符重载257
11.12C++的输入/输出(I/O)258
11.13多态——运行时绑定258
11.14解释260
11.15C++如何表现多态261
11.16新奇玩意——多态262
11.17C++的其他要点263
11.18如果我的目标是那里,我不会从这里起步264
11.19它或许过于复杂,但却是惟一可行的方案266
11.20轻松一下——死亡计算机协会270
11.21更多阅读材料271
附录A程序员工作面试的秘密273
附录B术语表285
……[看更多目录]