绿林网

C指针编程之道经典读后感有感

C指针编程之道经典读后感有感

《C指针编程之道》是一本由55.00元著作,394出版的图书,本书定价:2011-6,页数:,特精心收集的读后感,希望对大家能有帮助。

《C指针编程之道》读后感(一):公道地说比谭浩强的书强点,但是

在书店,翻到第3页,看到了

static int *pStu //定义指针变量pStu,并且pStu指向静态整型变量的指针

立刻吐血

这里缺少分号不说

您能否先把static的含义弄清再出来写书啊?

《C指针编程之道》读后感(二):书中错误很多

1. P24页第6行代码:char idx; 将一个变量定义为char类型,在第10行并与一个符号常量做条件判断: if (idx < LEN),这是不严谨的,因为有符号的char到127后面就会溢出,当输入一个大于127的数,条件判断的结果又可能会是真。

2. P33页第8行代码的if条件范围比实际的要小1: if (temp < 7),逻辑判断符应当是 <=, if (temp <= 7) 。另外,这段代码只用了一行定义数组指针的语句来说明数组指针的应用,根本不够。至少要在switch语句中也应用到。

该页第4行,同样使用char类型变量去和一个整形常量做比较

只看到这里,有点看不下去了的感觉。。。

《C指针编程之道》读后感(三):用“指针”名头包装着的N本大学计算机教材合辑——《C指针编程之道》(孔浩 张华杰 陈猛 人民邮电出版社)印象与评价

用“指针”名头包装着的N本大学计算机教材合辑——《C指针编程之道》(孔浩 张华杰 陈猛 人民邮电出版社)印象与评价

花了一个下午,还算是比较仔细地读完了本书,随即写下大概的印象与不全面的评价如下。如有错谬之处,期待各位大虾指正,免得误人子弟。

光看书名,实在很震慑人心!指针!道!这是一本关于C的灵魂的灵魂的书呀!接着看封面,一个ASCII Art的墨镜男Geek头像,范儿黑客帝国呀!太酷了!再看封底,“爱数组,爱结构体。爱琢磨算法,爱玩弄内存,更爱掰着手指数字节。爱自己冥思苦想,也爱与众生分享。……”—— 绝对是Geek + Hacker + Open Source呀!真是心有戚戚焉!

好了,最后咱们翻开书页看内容吧……

最初的印象,全书编排紧凑却又有些狭促:扉页前没有空白装帧页;序、跋、参考文献、附录、索引、后记、编后等辅文一概都没有;正文第394页就紧粘着封底;每章首页隐去了页眉与页脚但无留白,全书唯一的留白处仅仅是在各章的尾页。

其次,全书的代码块部分,皆使用g字不打圈&字不开口的Sans字体(或类似字体)呈现,有别于最常见的Courier/New字体,看着也还是挺养眼的。不过非代码块(行文/解说)中的代码字体却是非等宽字体,跟谭老教授畅销书一类的一样,算是粗陋了。

接下来,翻翻目录,首先发现有《4.2 不能不说的秘密——main函数的秘密》,以为是重大亮点,立即翻至第69页拜读。结果令我跌碎眼镜。第69页最后一行开始解说如下:

“C语言规定,main函数定义形式为:

void main(……){……}”

—— 这是最让我反感的C编程观念之一,但这里作者却断言是“C语言规定”。在《4.2.2野百合也有春天》中,作者用了不到一页纸的篇幅,非常粗略和狭隘地解说了main函数的参数与操作系统的关系。整个4.2让我觉得,这一节写了还不如不写。

要说本书作者(们)抱定“void main(……)”的“规定”,那也不是。前五章的代码示例还全都是用“int main(void)”的。(而以后各章节却是错误地使用void main(……)。)

再翻到第56页,在那里却又是这样说的:

“在最新的C99标准中,只有两种定义方式是正确的:

int main(void)

int main(int argc, char *argv[])”

由此看来,整本书所体现的关于C的标准或“规定”,没有统一性。这可能跟整本书分由三位作者撰写以及编辑不在乎ANSI/ISO标准有关吧。莫非……本书真是在言说一个“绝圣弃‘标’,民利百倍;绝仁弃‘准’,民复孝慈”之“道”?

进一步仔细阅读全书各章……

读完前4章,感觉是谭老教授畅销的C教材中“指针”部分的一个“详化版”。

读到第5章,感觉跟国内大学传统的《数据结构(用C描述)》教材线索与风格基本一致,并无太多新意。本章可以作为上述教材的“超缩略版”。

而第6章,也是谭老教授C教材中“I/O”部分的一个“详化版”。

第7、8两章,跟第5章一样,同属大学《数据结构(用C描述)》(包含了算法的)教材的“缩略版”。

第9章,是大学《计算机组成原理》教材中“汇编语言”部分的“蜻蜓点水版”。

读到第10章《Linux C 编程技术简介》一开始,才觉得略有新意。见到GNU的gdb登场,算是有一点点Hacker灵光乍现,但毕竟也只是“现”一簇昙花而已。进入本章的第2、3节,就是大学《操作系统》教材的一个“超缩略版”。而本章的第4节,则是大学《计算机网络原理》教材的一个“Baby级入门版”。

第11章,也属于大学《操作系统》教材的一个“超缩略版”。

第12、13章,类似于市面上的那种号称“精彩应用”、“开发实战(例)”等等之类的教程。

纵观全书,分明就是国内大学计算机专业里N门传统基础课程教材的杂凑合辑,“道”(盗)了谭老教授、严老教授、汤老教授等等的教学思路之一贯,所谓“一贯道”。

所以,我认为,在本书《前言》部分,编者宣称:

“本书适合以下读者阅读:

C语言开发初中级爱好者

C语言开发专业人员

高等院校的学生”

—— 其中所列3类人当中,有2.5类纯属滥竽充数。本书对于当代C语言中级爱好者来说,已经完全不够用或早已过时(比如说,里面大量的实例是基于Turbo C和MS DOS的),更遑论对于“C语言开发专业人员”。而高等院校的学生则根本不需要本书,因为只要他们通过了专业科目的考试,所有的教材,以及基本上作为这些教材缩略版的本书,就真的可以统统扔掉了,本书的价值甚至可能还不如他们的课堂笔记和“考前预测题”试卷。

严格地说,本书的读者群应该这样定位:对C有比较强烈兴趣但却没有接受过系统的计算机专业教育和训练的人。

在本书中,还存在一些专业性错谬。比如:

(i)在第9页的例子(1)中,对于“int num[70];”这个“定义”,解说是“该数组可以存放71个int类型的数据”。这是一个典型的,有如著名的《C陷阱与缺陷》中所提到的“差一错误(Off-by-One Error)”。但是,本书中的这个错误又不是那么的“典型” —— “差一错误”应该是“很隐蔽”或“较难觉察”的,但是这里的这个错误,却也太明目张胆了呀!

(ii)从第13页开始讲解字符串,下面始终把字符串末尾的结束符写成“o(小写拉丁字母O)” —— 这让人感觉好像有那么一点在数学里空集符号 Ø与希腊字母φ、Φ、Ψ、ψ混淆乱用的意思 —— 这之所以是一个比较严重的专业性错误,是因为在C当中,“o”有着完全独立和迥异的意义。

(iii)在第234页,把gcc命令参数-o后面所要标识的文件,以及a.out这类文件,都明确地称为“目标文件”。这又是一个严重的专业性错误。对于那些本来就对编译、链接等概念含混不清的学生来说,这种误导简直就是不能原谅的。

除此之外,还有一些“笔误”。比如在第114页,有一处写成“文本(test)文件”。

当然,本书还是有一些值得称道的优点:

(i)穿插在全书中的“知识提示”楷体字部分,不失为亮点之一。

(ii)本书对于代码实例的讲解很细致,不大而化之,尤其是在前5章里面;且注重代码中的注释。

(iii)全书有大量的代码实例,均尚未发现其中有语法错误和逻辑错误 —— 这应该跟有多达23位专业人员“参与了资料整理和代码编写”有关。

最后,还是向本书作者孔浩、张华杰、陈猛三位先生,以及那个多达23人的”资料整理和代码编写”团队,致以敬意和感谢!

本文由作者上传并发布(或网友转载),绿林网仅提供信息发布平台。文章仅代表作者个人观点,未经作者许可,不可转载。
点击查看全文
相关推荐
热门推荐