注释是什么和注释该怎么写(C语言)

13. 注释是什么?为什么写注释?

注释是对代码的说明,编译器会自动忽略注释,也就是说,注释对实际代码没有影响。

注释是给程序员自己,或者其他程序员看的。

好的注释可以帮我们更好的理解代码,但是也不要过度注释,不要写没必要的注释

当然不写注释可能会让后期阅读代码的⼈抓狂。

写注释⼀定程度上反应了程序作者的素质,建议⼤家写必要的注释,在未来找工作的时候,写代码时

留下必要的注释也会给面试官留下更好的印象。

注释不是多余的,它是代码的说明书,也是未来你回看程序时最好的提示

13.1 注释的2种形式

13.1.1 /**/ 的形式

第⼀种⽅法是将注释放在/*...*/ 之间,内部可以分行

cpp 复制代码
/*   注释   */ 

/*

这是⼀⾏注释
 
*/

这种注释可以插在行内。

cpp 复制代码
int fopen(char* s /* file name */, int mode);

上⾯示例中,/* file name */ ⽤来对函数参数进行说明,跟在它后⾯的代码依然会有效执行。

这种注释⼀定不能忘记写结束符号*/,否则很容易导致错误.

cpp 复制代码
printf("a "); /* 注释⼀    就在这里本应该有一个结束的标志
printf("b ");
printf("c "); /* 注释⼆*/ 
printf("d ");

上面示例的原意是,第⼀行和第三行代码的尾部,有两个注释。

但是,第⼀行注释忘记写结束符号,导致注释⼀延续到第三行结束。/**/ 的这个注释也不⽀持嵌套注释,/* 开始注释后,遇到第⼀个*/就认为注释结束了。

13.1.2 // 的形式

第二种写法是将注释放在双斜杠// 后面,从双斜杠到行尾都属于注释

这种注释只能是单行,可以放在行首,也可以放在⼀行语句的结尾。这是C99标准新增的语法.

cpp 复制代码
// 这是⼀⾏注释
 
int x = 1; // 这也是注释
 

13.1.3 注意事项

不管是哪⼀种注释,都不能放在双引号里面

双引号里面的注释符号,会成为字符串的⼀部分,解释为普通符号,失去注释作⽤

cpp 复制代码
printf("// hello /* world */ ");

上⾯示例中,双引号内的///* */都会被当作普通字符,不会被解析为注释,因此整行都会被打印,不会被预处理删除.

13.2 注释会被替换

预处理阶段会删除注释,将注释内容替换为一个空格 ,因此 min/*这里是注释*/value 会被处理为min value,而非minvalue,避免了标识符拼接错误.

相关推荐
xieliyu.3 小时前
Java算法精讲:双指针(三)
java·开发语言·算法
明夜之约3 小时前
Spring Boot 自动装配源码
java·spring boot·后端
Leaton Lee3 小时前
Spring Boot分层架构详解:从Controller到Service再到Mapper的完整流程
java·spring boot·后端·架构
Jinkxs3 小时前
Resilience4j- 与 Spring Boot 快速集成:自动配置与基础注解使用
java·spring boot·后端
辣机小司3 小时前
【踩坑记录:Spring Boot 配置文件读取值不一致?警惕 YAML 的“八进制陷阱”与 SnakeYAML 版本之谜】
java·spring boot·后端·yaml·踩坑记录
ZC跨境爬虫4 小时前
跟着 MDN 学JavaScript day_7:数学运算与逻辑判断实战测试
开发语言·前端·javascript·学习·ecmascript
fangdengfu1234 小时前
ES分析系统各个服务日志占用量
java·前端·elasticsearch
凌云拓界5 小时前
文件管理:让AI安全操作你的电脑 ——CogitoAgent开发实战(三)
javascript·人工智能·架构·开源·node.js
云烟成雨TD5 小时前
Spring AI 1.x 系列【51】可观测性技术选型
java·人工智能·spring
星越华夏5 小时前
ESP32-CAM图像传输项目说明文档
java·后端·struts·esp32