《代码大全2》(英文限量珍藏版)《程序员修炼之道》《计算机程序的构造和解释》《C程序设计语言》《算法导论》《重构 改善既有代码的设计》《人月神话》《设计模式》(典藏版)《计算机程序设计艺术》《编译原理》《深入浅出设计模式》《代码整洁之道》《编程珠玑》《修改软件的艺术》《编码:隐匿在计算机软硬件背后的语言》《黑客与画家》《深入理解计算机系统》《HTTP权威指南》《重来》《集体智慧编程》《活着》《编程之美》《程序员思维修炼》《系统化思维导论》《大话数据结构》《UNIX网络编程》《高性能Linux服务器运维实战》《TCP/IP详解》《计算机网络:自顶向下方法》《UNIX环境高级编程》《程序员的自我修养》《数据密集型应用系统设计》《现代操作系统》《操作系统真象还原》《Windows核心编程》《深入理解LINUX内核》《传世经典书丛:UNIX编程艺术》《清醒思考的艺术》《C和指针》《C专家编程》《C 陷阱与缺陷》《C++ Primer Plus》《STL源码剖析》《Effective C++》《深度探索C++对象模型》《Java核心技术》《Effective Java中文版》《深入理解Java虚拟机》《Java并发编程实战》《轻量级Java Web整合开发》《精通Spring》《Java编程思想》《Java性能权威指南》《大话设计模式》《图解HTTP》《Redis实战》《Redis设计与实现》《高性能MySQL》《鸟哥的Linux私房菜》《Spring Cloud Alibaba微服务原理与实战》《第一本Docker书》《MySQL必知必会》《MySQL技术内幕:InnoDB存储引擎》《深入浅出MySQL》《SQL基础教程》《CSS权威指南》《CSS揭秘》《CSS世界》《Head First HTML与CSS》《零基础学HTML5+CSS3》《HTML5+CSS3+JavaScript从入门到精通》《JavaScript DOM编程艺术》《JavaScript高级程序设计》《JavaScript语言精粹》《你不知道的JavaScript 》《JavaScript设计模式与开发实践》《ES6标准入门》《深入理解ES6》《高性能JavaScript》《数据结构与算法JavaScript描述》《JavaScript ES6 函数式编程入门经典》《HTML5权威指南》《锋利的jQuery》《深入React技术栈》《React状态管理与同构实战》《React进阶之路》《React学习手册》《React Native移动开发实战》《React+Redux前端开发实战》《Spring Boot+Vue全栈开发实战》《Vue.js项目实战》《Vue.js入门与商城开发实战》《Vue.js 从入门到实战》《Vue.js实战》《深入浅出Node.js》《Node.js实战》《Node.js无服务器应用实战》《Node与Express开发》《编写可维护的JavaScript》《大型网站技术架构 核心原理与案例分析》《Web性能权威指南》《点石成金》

《C专家编程》

点击购买

编辑推荐

这是一本非常与众不同的C语言图书,本书采用轻松、对话式的方式,介绍了作者在实践经验中总结出的许多令人吃惊的案例:
将太空探测器炸毁到金星的软件;
能关闭整个AT&T电话系统的C语言bug;
C程序员工作面试的秘密;
程序员为什么分不清万圣节和圣诞节;
一个完整的BASIC解释器的C代码

本书揭示了世界上卓-越的C程序员使用的编码技术。本书尽管以C语言为主题,但还是对C++进行了简单介绍。C程序员无须花费数周的时间就可以理解这些C++知识。
本书涵盖了IBM和UNIX系统,真正做到了C语言学习的寓教于乐,对于想要了解更多C语言实现、实用技巧以及C语言奇闻异事的读者来说,本书是必备读物。

内容简介

《C专家编程》展示了优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。
《C专家编程》对C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。本书撷取几十个实例进行讲解,对C程序员具有非常高的实用价值。
《C专家编程》可以帮助有一定经验的C程序员成为C编程方面的专家;对于C语言功底深厚的程序员,本书可以帮助他们站在C的高度了解和学习C++。

作者简介

Peter van der Linden,Sun公司编译器和OS核心开发团队成员,世界知名的专家级C程序员,拥有多年的C开发实战经验,对C/C++语言有深入理解。

目录

第 1章 C:穿越时空的迷雾 1
1.1 C语言的史前阶段 1
1.2 C语言的早期体验 4
1.3 标准I/O库和C预处理器 5
1.4 K&R C 8
1.5 今日之ANSI C 10
1.6 它很棒,但它符合标准吗 12
1.7 编译限制 14
1.8 ANSI C标准的结构 15
1.9 阅读ANSI C标准,寻找乐趣和裨益 18
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 轻松一下——有些特性确实就是Bug 51
第3章 分析C语言的声明 53
3.1 只有编译器才会喜欢的语法 54
3.2 声明是如何形成的 56
3.3 优先级规则 61
3.4 通过图表分析C语言的声明 63
3.5 typedef可以成为你的朋友 65
3.6 typedef int x[10]和#define x int[10]的区别 66
3.7 typedef struct foo{ ... foo; }的含义 67
3.8 理解所有分析过程的代码段 69
3.9 轻松一下——驱动物理实体的软件 71
第4章 令人震惊的事实:数组和指针并不相同 79
4.1 数组并非指针 79
4.2 我的代码为什么无法运行 79
4.3 什么是声明,什么是定义 80
4.4 使声明与定义相匹配 84
4.5 数组和指针的其他区别 84
4.6 轻松一下——回文的乐趣 85
第5章 对链接的思考 89
5.1 函数库、链接和载入 89
5.2 动态链接的优点 92
5.3 函数库链接的5个特殊秘密 95
5.4 警惕Interpositioning 99
5.5 产生链接器报告文件 104
5.6 轻松一下——看看谁在说话:挑战Turing测验 105
第6章 运动的诗章:运行时数据结构 111
6.1 a.out及其传说 112
6.2 段 113
6.3 操作系统在a.out文件里干了些什么 115
6.4 C语言运行时系统在a.out里干了些什么 117
6.5 当函数被调用时发生了什么:过程活动记录 119
6.6 auto和static关键字 123
6.7 控制线程 124
6.8 setjmp和longjmp 124
6.9 UNIX中的堆栈段 126
6.10 MS-DOS中的堆栈段 126
6.11 有用的C语言工具 127
6.12 轻松一下——卡耐基·梅隆大学的编程难题 130
6.13 只适用于高级学员阅读的材料 132
第7章 对内存的思考 133
7.1 Intel 80x86系列 133
7.2 Intel 80x86内存模型以及它的工作原理 137
7.3 虚拟内存 141
7.4 cache存储器 144
7.5 数据段和堆 148
7.6 内存泄漏 149
7.7 总线错误 153
7.8 轻松一下——“Thing King”和“页面游戏” 159
第8章 为什么程序员无法分清万圣节和圣诞节 163
8.1 Portzebie度量衡系统 163
8.2 根据位模式构筑图形 164
8.3 在等待时类型发生了变化 166
8.4 原型之痛 168
8.5 原型在什么地方会失败 170
8.6 不需要按回车键就能得到一个字符 173
8.7 用C语言实现有限状态机 177
8.8 软件比硬件更困难 178
8.9 如何进行强制类型转换,为何要进行类型强制转换 181
8.10 轻松一下——国际C语言混乱代码大赛 183
第9章 再论数组 193
9.1 什么时候数组与指针相同 193
9.2 为什么会发生混淆 194
9.3 为什么C语言把数组形参当作指针 199
9.4 数组片段的下标 202
9.5 数组和指针可交换性的总结 203
9.6 C语言的多维数组 203
9.7 轻松一下——软件/硬件平衡 209
第 10章 再论指针 213
10.1 多维数组的内存布局 213
10.2 指针数组就是Iliffe向量 214
10.3 在锯齿状数组上使用指针 217
10.4 向函数传递一个一维数组 220
10.5 使用指针向函数传递一个多维数组 221
10.6 使用指针从函数返回一个数组 224
10.7 使用指针创建和使用动态数组 226
10.8 轻松一下——程序检验的限制 231
第 11章 你懂得C,所以C++不在话下 235
11.1 初识OOP 235
11.2 抽象——取事物的本质特性 237
11.3 封装——把相关的类型、数据和函数组合在一起 238
11.4 展示一些类——用户定义类型享有和预定义类型一样的权限 239
11.5 访问控制 240
11.6 声明 241
11.7 如何调用成员函数 243
11.8 继承——复用已经定义的操作 245
11.9 多重继承——从两个或更多的基类派生 249
11.10 重载——作用于不同类型的同一操作具有相同的名字 250
11.11 C++如何进行操作符重载 250
11.12 C++的输入/输出(I/O) 251
11.13 多态——运行时绑定 252
11.14 解释 253
11.15 C++如何表现多态 254
11.16 新奇玩意儿——多态 255
11.17 C++的其他要点 256
11.18 如果我的目标是那里,我不会从这里起步 257
11.19 它或许过于复杂,但却是唯一可行的方案 259
11.20 轻松一下——死亡计算机协会 263
11.21 更多阅读材料 264
附录A 程序员工作面试的秘密 265

链接: https://fly63.com/course/26_1182