程序员的自我修养 - 三种程序注释的比较

来源:互联网 发布:淘宝和京东哪个好 编辑:程序博客网 时间:2024/06/07 02:37

注释用法简单说明:

1. //       - 老版本的编译器可能会出现问题,例如C++里提供,但是C里面不允许;

2. /* */    - 老版本编译器可以辨认,但是不允许嵌套,C语言中如果出现注释块的嵌套,则会报错;

3.  # if 0 #endif 和 #if 1  #endif  


注释用法详细分析:

C标准不提供C++里的“//”这样的单行风格注释而只提供“/* */”这样的块注释功能。对于前者,因为“注释”中不会再出现“注释”和“需要屏蔽的代码段”,所以不会有嵌套的需求,所以通常不会有问题;而对于后者,当我们在调试程序时需要“屏蔽”某段代码时,该段代码中可能包含着前述的“注释”和/或“已被屏蔽的代码段”,这时就产生了“/* */”嵌套使用的需求。在C标准中,当你试图使用嵌套的块注释功能时,会发现预处理器把最外层注释的开始和最内层注释的结尾这两者之间的内容处理成了注释,而其后一直到最外层注释结尾的内容被当作了“有效代码”。而“#if 0 ... #endif”可以有效避免此问题,首先它允许嵌套(层数上限由预处理器决定),其次你随时可以把“#if 0”改成“#if 1”来取消对某段代码的“屏蔽”。

0 0
原创粉丝点击