浅谈C语言中的注释风格小结
C语言中常用的注释风格有两种,一种是通过如下模式进行一段代码的注释:
/* comment*/
另一种是单行注释符号:
// comment
学生时代的注释我一般是选用后者,那时候编码量十分有限,即使是简单的小段落注释使用的IDE也支持批量添加单行注释符。而在编码之中,简单的单行注释进行注释的时候键盘的操作更为简单一点。
不过,工作之后接触了相应的编码规范之后,C语言的注释我基本上放弃了单行注释的方法,最多仅仅在调试的时候做简单的使用。
其实,单行注释是从C++中借鉴来的,算是C++风格的注释方式。而这种方式在C语言中有时候会带来一定的差异性,甚至是引入难以察觉的Bug。把我自己从网络或者书籍中看到的两个比较典型的方式列述总结一下。
示例1:
#include"stdio.h" int main(void) { int a = 0; a += 5; \ a = 123; printf("value of a: %d\n",a); return 0; }
代码的编译运行结果如下:
E:\WorkSpace\01_编程语言\01_C语言\exp_26>gcc exp_26.c
E:\WorkSpace\01_编程语言\01_C语言\exp_26>a
value of a: 123
代码其实很简单,第一次对a进行的数值修改其实是一个没用的冗余代码。如果发现类似的问题,可能进行一下简单的屏蔽,修改代码如下:
#include"stdio.h" int main(void) { int a = 0; //a += 5; \ a = 123; printf("value of a: %d\n",a); return 0; }
代码的编译运行结果如下:
E:\WorkSpace\01_编程语言\01_C语言\exp_26>gcc exp_26.c
E:\WorkSpace\01_编程语言\01_C语言\exp_26>a
value of a: 0
这个结果很多时候会出乎很多人的意料,因为发现结果居然不再是123!其实,原因就在于屏蔽的那一行代码最后面多了一个续行的符号。这样使得注释的作用持续到了下一行。其实,很多编译器在这方面都会有相对精准的判断给出提示,比如说我最近在使用的VIM就能够通过颜色的变化提示出第二行也被注释掉了。而擅长语义分析的Source Insight在这方面倒是没有做好,不知道最新推出的V4版本中是否对此有所改进。
示例2:
#include"stdio.h" int main(void) { int a = 123; int b = 23; int c; c = a //* //*/b ; printf("value of c:%d",c); return 0; }
从《C专家编程》中摘出了这个例子,按照书中的介绍,c的赋值运算相关3行在C语言中表示a/b而在C++中表示a。不过,或许是成书时间比较早,自我我的机器以及软件上,这个说法显然是不成立了。即使是咋C语言中,上面的表达式也是表示c = a。不过,程序的可读性确实是给了我们一个不小的挑战。我专门注意了一下编辑器对此的识别,在此环节中,VIM以及Source Insight全都识别准确。值得一提的是,前面的这两个例子如果使用NotePad ++,编辑器的提示也全都是准确的。
代码的编译执行结果如下:
E:\WorkSpace\01_编程语言\01_C语言\exp_27>gcc exp_27.c
E:\WorkSpace\01_编程语言\01_C语言\exp_27>a
value of c:123
由此看来,很多嵌入式的编码规范中要求不能够用C++单行注释风格的注释方式还是有一定道理的。虽说是带来了一定的不方便,但是确实是能够避免一些小问题的出现。
以上这篇浅谈C语言中的注释风格小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
上一篇:C++实现商品管理程序
栏 目:C语言
下一篇:Qt自定义控件实现简易仪表盘
本文标题:浅谈C语言中的注释风格小结
本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/28.html
您可能感兴趣的文章
- 04-02c语言函数调用后清空内存 c语言调用函数删除字符
- 04-02c语言的正则匹配函数 c语言正则表达式函数库
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言中对数函数的表达式 c语言中对数怎么表达
- 04-02c语言用函数写分段 用c语言表示分段函数
- 04-02c语言编写函数冒泡排序 c语言冒泡排序法函数
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段函数
- 04-02C语言中怎么打出三角函数 c语言中怎么打出三角函数的值
- 04-02c语言调用函数求fibo C语言调用函数求阶乘
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10C#中split用法实例总结
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery
- 01-11ajax实现页面的局部加载