关键字:C语言,指针,数组,函数,数据结构
推荐:★★★★
难度:★★
豆瓣链接:https://book.douban.com/subject/3012360/
每天地铁的时候手机信号都不好,闲来无事只好读些书了。
最近听群里有人推荐这本书,于是拿来看了看。
总体感觉还不错,是一本好书。
本书并不太适合C语言初学者,高级程序员看起来也很乏味。
可以看做一本进阶读物。
指针和数据在内存中的存储方式,是从头到尾贯穿全书的。
对C语言各个中级特性都详细的进行了介绍。
难能可贵的是,读完以后会认识到C语言的设计哲学,
以及C语言的设计者当初做的各种折中考虑。
本书涵盖的内容很丰富,
数据,语句,操作符,表达式,函数,
数组,字符串,结构,
内存分配,指针,
预处理,IO函数,标准函数库,
抽象数据类型,与汇编交互。
其中讲到了以下知识点,在初级读物中是很少提到的。
变量的作用域,链接属性,存储类型
左值和右值
使用“推论声明”来判断声明变量的类型
函数的可变参数列表
指针与下标,数组和指针的效率
联合
动态内存分配
回调函数,命令行参数
流IO
非本地跳转,setjmp,longjmp
信号
实现基本的数据结构
编译后的简单汇编代码
认真读了以后,就会发现,
本书,既不像某些初级读物,读来读去都学不到新鲜玩意。
本书,也不像某些伪高级读物,整本书都是在告诉这样做哪里不好。
与之不同的是,
本书一直在详细的告诉读者,怎样做是对的,
难能可贵的是,很多处都提到了代码质量,使用好的算法,这些有前瞻性的思想。
最后,可以稍微提一下美中不足之处。
这本书关于编译和链接的细节,并没有深入探讨。
这也是情有可原的,本书的主题思想很明确,
就是用C语言设计者的思想来看待C语言的方方面面。
至于C语言设计者的思想是什么呢?
还请仔细一读吧。