这本书不能让你成为C语言专家,但绝对能让你对C语言的认识更加深刻。
本书详细介绍了很多C语言不容易掌握的部分,比如指针与数组名的区别、复杂的声明、表达式中的类型转换、
链接和虚拟内存,每个内容都非常仔细品味。如果说"C traps and pitfalls"是告诉你怎样绕开C语言编程过程
中常犯的错误的话,那么这本书是给你理清C语言中那些不易理解且容易混淆的概念。指针是C语言中公认最难的
部分,声明可以说是除指针之外最难的,这两部分在本书中讲解的非常好,特别是将指针与数组名作对比,详
细的介绍了二者的区别。而在讲解复杂的声明的时候,作者给出的那个 “Magic Decoder Ring for C Declaretions”
简直是分析复杂声明的不二法宝,以后看到像void (* signal) ( int sig, void (* func)(int)) ) (int) 这样让人头大的声明应
该可以很快分析出来了,当然一般情况下会使用typedef 简化声明,但掌握如何分析这种复杂的声明是成为C语
言专家的必经之路。
关于表达式中的类型转换可以看我的这篇博客,对于链接和虚拟内存这一块,作者只是浅尝辄止,并没有太过
深入的叙述,我觉得讲解链接和虚拟内存这一块非常好的书是“Computer System: A Programmer's Perspective”
(深入理解计算机系统)。
下图就是作者描绘的分析复杂声明的流程图,“Magic Decoder Ring for C Declaretions”