C语言深度解剖第三版陈正冲.pdf
http://www.100md.com
2020年11月16日
![]() |
| 第1页 |
![]() |
| 第9页 |
![]() |
| 第11页 |
![]() |
| 第25页 |
![]() |
| 第47页 |
参见附件(851KB,131页)。
C语言深度解剖(第3版)由于并不是从头到尾讲解C语言的基础知识,所以该书并不适用于C语言零基础的读者,其内容要比一般的C语言图书深得多、细致得多,其中有很多问题是各大公司的面试或笔试题

皇帝身边的小太监---寄存器
不知道什么是寄存器?那见过太监没有?没有?其实我也没有。没见过不要紧,见过就麻烦大了。^^,大家都看过古装戏,那些皇帝们要阅读奏章的时候,大臣总是先将奏章交给皇帝旁边的小太监,小太监呢再交给皇帝同志处理。这个小太监只是个中转站,并无别的功能。
好,那我们再联想到我们的CPU,CPU不就是我们的皇帝同志么?大臣就相当于我们的内存,数据从他这拿出来。那小太监就是我们的寄存器了(这里先不考虑CPU的高速缓存区)。数据从内存里拿出来先放到寄存器,然后CPU再从寄存器里读取数据来处理,处理完后同样把数据通过寄存器存放到内存里,CPU不直接和内存打交道。这里要说明的一点是:小太监是主动的从大臣手里接过奏章,然后主动的交给皇帝同志,但寄存器没这么自觉它从不主动干什么事。一个皇帝可能有好些小太监,那么一个CPU也可以有很多寄存器,不同型号的CPU拥有寄存器的数量不一样。
为啥要这么麻烦啊?速度!就是因为速度。寄存器其实就是一块一块小的存储空间,只不过其存取速度要比内存快得多。进水楼台先得月嘛,它离CPU很近,CPU一伸手就拿到数据了,比在那么大的一块内存里去寻找某个地址上的数据是不是快多了?那有人问既然它速度那么快,那我们的内存硬盘都改成寄存器得了呗。我要说的是:你真有钱!
数据类型与“模子”
short,int,long,char,float,double这六个关键字代表C语言里的六种基本数据类型。
怎么去理解它们呢?举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12个孔。
不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个棋子。
现在我们联想一下,short,int,long,char,float,double这六个东东是不是很像不同类型的藕煤器啊?拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。在32位的系统上short咔出来的内存大小是2个byte;int咔出来的内存大小是4个byte:long咔出来的内存大小是4个byte;float咔出来的内存大小是4个byte:double咔出来的内存大小是8个byte;char昨出来的内存大小是1个byte。(注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof关键字测试一下)很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多内存块,你总不能给他取名字叫做x1,x2,x3,x4,x5.或者长江1号,长江2号…吧。它们长得这么像(不是你家的老大,老二,老三),过一阵子你就会忘了到底哪个名字和哪个内存块匹配了(到底谁嫁给谁了啊?^)。所以呢,给他们取一个好的名字绝对重要。下面我们就来研究研究取什么样的名字好。
作者简介
陈正冲,湖南沅江人,毕业于中国科学技术大学。具有丰富的嵌入式软件开发与管理经验,对于软件工程方法论和研发管理有深刻理解。每年都多次举行软件工程技术和研发管理方面培训,讲课深入、透彻、幽默,深受各方好评。目前主要从事研发管理工作。
精彩书评
《G语言深度解剖》从另一个层面来让你更深地了解C语言的精华所在,很好的一本书。
——网友,zuoshaobo_kzcj4
这是一部经典的C语言讲解教案,你可以在其中学习到你从没思考过的关键知识!
——网友,C1989
如果是学习过C语言的人,那么看几页就会觉得很不一般,大力推荐学过或正在学习C语言的人阅读此书,绝对受益匪浅。
——网友,caliow
偶然在网上看到这本书,读毕,获益颇多。看过不少C语言的书籍,貌似很少有哪册书提过哪些东西应该写在.h头文件里,哪些东西应该写在.cpp里。
——网友,惊羽九天
强烈推荐,两位老师20年编程工作的经验总结,一位资深嵌入式工程师的呕心沥血之作!堪称同类资料中之经典中的经典。
——网友,HXW718059156
这是一篇C语言高手的箴言,将C语言的精髓展示出来。
——网友,lingzhimeng
很好,对有些问题的见解很有深度,提出了很多人没有想到的问题,其中对关键字的解释很有创意,诸如static等,用了很多很好的例子,值得一看。
——网友,FengHui
C语言深度解剖第三版陈正冲截图



附件资料:
相关资料1:




