第一章 快速上手
注释代码
在C语言中,如果试图在一段代码的首尾分别加上/*
和*/
来“注释掉”这段代码,不一定能成功。如果这段代码内部原先就有注释存在,这样做就会出问题。要从逻辑上删除一段C代码,更好的办法是使用#if
指令。只要像下面这样使用:
#if 0
statements
#endif
在#if
和#endif
之间的程序段就可以有效地从程序中去除,即使这段代码之间原先就存在注释页无妨,所以这是一种更为安全的方法。
第二章 基本概念
三字母词
标准还定义了几个三字母词(trigrph),三字母词就是几个字符的序列,合起来表示另一个字符。三字母词是C环境可以在某些缺少一些必需字符的字符集上实现,这里列出了一些三字母词以及它们所代表的字符。
??( [ ??< { ??= #
??) ] ??> } ??/ \
??! | ??' ^ ??- ~
尽管三字母词在某些环境中很有用,但对于那些用不着他的人而言,他实在是个令人讨厌的小东西。当你偶尔书写了一个三字母词时,如下所示。
printf("Delete file (are you really sure??): ");
结果输出中将产生]字符,这无疑会令你大吃一惊。
程序风格
- 空行用于分隔不同的逻辑代码段,他们是按照功能分段的。这样,读者一眼就能看到某个逻辑代码段的结束,而不必仔细阅读每行代码来找到它。
- if 和相关语句的括号是这些语句的一部分,而而不是他们所测试的表达式的一部分。所以,我在括号和表达式之间留下一个空格,使表达式看上去更突出一些。函数的原型也是如此。
- 在绝大多数操作符的使用中,中间都隔以空格,这可以使表达式的可读性更佳。有时在复杂的表达式中,我会省略空格,这有助于显示子表达式的分组。
- 嵌套于其他语句的语句将缩进,以显示它们之间的层次。使用tab键而不是空格,你可以很容易地将相关联的语句整齐排列。当整页都是程序代码时,使用足够大的缩进有助于程序匹配部分的定位,只使用2到3个空格是不够的。
- 绝大部分注释都是成块出现的,这样它们从视觉上在代码中很突出。读者可以更容易找到和跳过它们。
- 在函数的定义中,返回类型出现于独立的一行中,而函数的名字则在下一行的起始处。这样在寻找函数的定义时,你可以在一行的开始处找到函数的名字。
如果你始终保持如一的风格,任何有一定水平的读者都能较为容易地读懂你的代码。