注释的作用是给代码做说明,方便别人阅读和理解代码,写注释是很好的编程习惯。编译器会直接忽略代码中的注释,注释不对程序功能产生任何影响,即使不写注释,也不影响程序代码。
三种注释写法:
1.单行注释,/* */之间的所有内容会被作为注释。
/* 这是注释 */
2.多行注释,/* */之间的多行内容会被作为注释。
/*
这是注释1。
这是注释2。
*/
3.C99新增的一种单行注释,该风格借鉴C++注释风格。//符号表示的注释告诉编译器忽略 // 和换行符间的所有内容,单行注释不能跨行。
// 这是单行注释。
备注:在不支持C99标准的编译器中,无法使用单行注释,否则会编译出错,前两种方式均支持。
注释使用几点注意:
-
不建议使用注释嵌套,容易出错;
-
不建议在一条语句换行中间使用注释,影响语句执行结果;
-
/* /注释不允许嵌套/ */;
-
// 可以和/* */嵌套使用;
-
单行注释不能跨行。
#include <stdio.h>
/* 注释使用示例程序
公众号:coderpointer
*/
/* 这是主函数 */
int main(void)
{
// 注释掉这一行代码
// int i = 0;
// 在屏幕打印Hello,world!
printf("Hello,world!\n");
return 0;
}
编译器如何处理注释:
-
在预处理器阶段之前,直接用空格替换注释内容;
-
因为注释在预处理器阶段前被移除,宏不能用于组成注释;
/* 试图用宏组成注释,但空格替换字符 "//" 。*/
#ifndef DEBUG
#define PRINTF //
#else
#define PRINTF printf
#endif
...
PRINTF("this is a debug output.\n");
- 单引号和双引号出现注释符号,会作为普通字符输出,不会替换成空格。
例如:
'/'
'*'
"//this is a string."
"/*this is a string too.*/"
其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C/C++基础交流583650410,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。