《C陷阱与缺陷》一导读

    xiaoxiao2024-01-26  159

    前 言

    C陷阱与缺陷对于经验丰富的行家而言,得心应手的工具在初学时的困难程度往往要超过那些容易上手的工具。刚刚接触飞机驾驶的学员,初航时总是谨小慎微,只敢沿着海岸线来回飞行,等他们稍有经验就会明白这样的飞行其实是一件多么轻松的事。初学骑自行车的新手,可能觉得后轮两侧的辅助轮很有帮助,但一旦熟练过后,就会发现它们很是碍手碍脚。

    这种情况对程序设计语言也是一样。任何一种程序设计语言,总存在一些语言特性,很可能会给还没有完全熟悉它们的人带来麻烦。令人吃惊的是,这些特性虽然因程序设计语言的不同而异,但对于特定的一种语言,几乎每个程序员都是在同样的一些特性上犯过错误、吃过苦头!因此,作者也就萌生了将这些程序员易犯错误的特性加以收集、整理的最初念头。

    我第一次尝试收集这类问题是在1977年。当时,在华盛顿特区举行的一次SHARE(IBM 大型机用户组)会议上,我作了一次题为“PL/I中的问题与‘陷阱’”的发言。作此发言时,我刚从哥伦比亚大学调至AT&T的贝尔实验室,在哥伦比亚大学我们主要的开发语言是PL/I,而贝尔实验室中主要的开发语言却是C。在贝尔实验室工作的10年间,我积累了丰富的经验,深谙C程序员(也包括我本人)在开发时如果一知半解将会遇到多少麻烦。

    1985年,我开始收集有关C语言的此类问题,并在年底将结果整理后作为一篇内部论文发表。这篇论文所引发的回应却大大出乎我的意料,共有2 000多人向贝尔实验室的图书馆索取该论文的副本!我由此确信有必要将该论文的内容进一步扩充,于是就写成了现在读者所看到的这本书。

    本书是什么本书力图通过揭示一般程序员,甚至是经验老道的职业程序员,如何在编程中犯错误、摔跟头,以提倡和鼓励预防性的程序设计。这些错误实际上一旦被程序员真正认识和理解,并不难避免。因此,本书阐述的重点不是一般原则,而是一个个具体的例子。

    如果你是一个程序员并且开发中真正用到C语言来解决复杂问题,这本书应该成为你的案头必备书籍。即使你已经是一个C语言的专家级程序员,仍然有必要拥有这本书,很多读过本书早期手稿的专业C程序员常常感叹:“就在上星期我还遇到这样一个Bug!”如果你正在教授C语言课程,本书毫无疑问应该成为你向学生推荐的首选补充阅读材料。

    目 录

    第0章 导读 第1章 词法“陷阱” 1.1 =不同于== 1.2 &和 | 不同于&&和 || 1.3 词法分析中的“贪心法” 1.4 整型常量 1.5 字符与字符串 第2章 语法“陷阱”第3章 语义“陷阱”第4章 连接第5章 库函数第6章 预处理器第7章 可移植性缺陷第8章 建议与答案附录A PRINTF,VARARGS与STDARG附录B Koenig和Moo夫妇访谈

    相关资源:C陷阱与缺陷 第二版 高清扫描版
    最新回复(0)