《C语言深度解刨》阅读笔记 II
发布时间
阅读量:
阅读量

- 编译器会将注释剔除,但不是简单的剔除,而是用空格代替原来的注释。
- /…/这种形式的注释不能嵌套,/总是与离它最近的/匹配。
- y = x/*p,表示x 除以p 指向的内存里的值,把结果赋值为y。但要注意代码写法应该为y = x/(空格) *p 或者y = x/(*p)。否则编译器会把/*当作是一段注释的开始,把/后面的内容都当作注释内容,直到出现/为止。
- 注释应当准确、易懂,防止有二义性。错误的注释不但无益反而有害。
- 边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要及时删除。
- 注释是对代码的“提示”,而不是文档。程序中的注释应当简单明了,注释太多了会让人眼花缭乱。
- 一目了然的语句不加注释。
- 对于全局数据(全局变量、常量定义等)必须要加注释。
- 注释采用英文,尽量避免在注释中使用缩写,特别是不常用缩写。因为不一定所有的编译器都能显示中文,别人打开你的代码,你的注释也许是一团乱码。还有,你的代码不一定是懂中文的人阅读。
- 注释的位置应与被描述的代码相邻,可以与语句在同一行,也可以在上行,但
不可放在下方。同一结构中不同域的注释要对齐。
当代码变得较长且有多个嵌套时,在某些段落结尾添加注释以方便阅读
- 注释的缩位要与代码的缩位保持一致。
- 注释代码段时应着重说明"why"而非"how"。
- 用于说明操作层面而非问题本质的操作意图时会发现这些注释多此一举。
注释需说明某数值的具体表示什么含义。
例如:对于长度类别的数值,则需明确指出其对应的单位类型(如毫米、米或千米)。
同理,在涉及时间计算时,则需明确指出其对应的单位类型(如小时、分钟、秒或千分秒)。
-
对变量名进行注释说明,并特别关注参数部分。
-
在处理一系列数字编码时进行详细标注,在构建底层驱动程序时(如脚位编号)给予明确标记。
- 对于函数的入口/出口数据、条件语句、分支语句给出注释。
- 避免在一行代码中或表达式中插入注释。
- 复杂的函数中,分支语句、循环语句结束后需要适当的注释,方便区分各分支或循环体。
- 对于不需要被编译的区域要使用条件编译来实现。
- \是一个接续符。C语言中以反斜杠()表示断行。编译器会将其剔除后面的字符自动接续到前一行。但是注意:反斜杠之后不能有空格,反斜杠的下一行之前也不能有空格。
- 反斜杠除了可以被用作接续符,还能被用作转义字符的开始标识。
- 双引号引起来的都是字符串常量,单引号引起来的都是字符常量。比如:‘a’和“a”完全不一样,在内存里前者占1 个byte,后者占2个byte。
- 位运算需要用宏定义好后再使用。
- 如果位操作符‘~’和‘<<’应用于基本类型无符号字符型或无符号短整型的操作数,结果会立刻转换成操作数的基本类型。
- 位运算符不能用于基本类型是有符号的操作数上。
- 一元减运算符不能用在基本类型无符号的表达式上,除非在使用前对两个操作数进行比大小判断,并且被减必须大于减数。
- 花括号的作用是什么呢?我们平时写函数,if、while、for、switch 语句等都用到了它,
但有时又省略掉了它。简单来说花括号的作用就是打包。你想想以前用花括号是不是为了
把一些语句或代码打个包包起来,使之形成一个整体,并与外界绝缘。
C语言规定每个符号应尽可能包含多个字符。即编译器将程序分解为符号的过程是从左至右逐个字符读取。如果当前可识别的部分能够构成一个有效符号则继续读取下一个字符,并判断当前已识别的部分是否能成为一个有效部分。并不断重复上述步骤直至无法再构成有意义的部分为止。这一策略被称为"贪心算法"。需要注意的是除了字符串和单个字面量外中间不能插入空白空格、制表符或回车等无效编码。例如在表达式a+++b中可以被清晰辨别为a+++b与a++ +b两者相同而不会产生歧义。
-
C语言中含有众多的各种符号;这些符号则组成了不同类别的运算符;每个运算符都具有确定的优先顺序。
-
2/(-2)的值是多少?

- 一些容易出错的优先级问题

全部评论 (0)
还没有任何评论哟~
