Skip to content
Cool Miller edited this page Sep 28, 2015 · 5 revisions

Book Information

Review by [thzt]

  • Rank: ★★★★
  • Hard: ★★
  • Tag: C语言,指针,数组,函数,数据结构
  • Reviews:

每天地铁的时候手机信号都不好,闲来无事只好读些书了。

最近听群里有人推荐这本书,于是拿来看了看。

总体感觉还不错,是一本好书。


本书并不太适合C语言初学者,高级程序员看起来也很乏味。

可以看做一本进阶读物。

指针和数据在内存中的存储方式,是从头到尾贯穿全书的。


对C语言各个中级特性都详细的进行了介绍。

难能可贵的是,读完以后会认识到C语言的设计哲学,

以及C语言的设计者当初做的各种折中考虑。


本书涵盖的内容很丰富,

数据,语句,操作符,表达式,函数,

数组,字符串,结构,

内存分配,指针,

预处理,IO函数,标准函数库,

抽象数据类型,与汇编交互。


其中讲到了以下知识点,在初级读物中是很少提到的。

变量的作用域,链接属性,存储类型

左值和右值

使用“推论声明”来判断声明变量的类型

函数的可变参数列表

指针与下标,数组和指针的效率

联合

动态内存分配

回调函数,命令行参数

流IO

非本地跳转,setjmp,longjmp

信号

实现基本的数据结构

编译后的简单汇编代码


认真读了以后,就会发现,

本书,既不像某些初级读物,读来读去都学不到新鲜玩意。

本书,也不像某些伪高级读物,整本书都是在告诉这样做哪里不好。


与之不同的是,

本书一直在详细的告诉读者,怎样做是对的,

难能可贵的是,很多处都提到了代码质量,使用好的算法,这些有前瞻性的思想。


最后,可以稍微提一下美中不足之处。

这本书关于编译和链接的细节,并没有深入探讨。

这也是情有可原的,本书的主题思想很明确,

就是用C语言设计者的思想来看待C语言的方方面面。


至于C语言设计者的思想是什么呢?

还请仔细一读吧。