注释是什么和注释该怎么写(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,避免了标识符拼接错误.

相关推荐
lhldsg4 分钟前
宠物同城领养平台开发实战:从需求分析到上线部署指南
java·前端·小程序·需求分析·宠物
hunterandroid4 分钟前
Android 内存泄漏排查实战:从 LeakCanary 报警到根因定位
android·前端
AI视觉网奇5 分钟前
3d子部件高亮选中
开发语言·javascript·3d
leoZ2316 分钟前
AI+前端提效-12 AI辅助前端性能优化与监控:从开发到线上全流程提效
前端·人工智能·神经网络·自然语言处理·性能优化·keras·知识图谱
风萧萧19998 分钟前
JAVA :JSONObject转换为XML
xml·java·python
阿图灵8 分钟前
LangGraph 实战 03:Workflows 与 Agents——六种工作流模式与智能体实战(附 6 个可运行示例)
java·前端·javascript·工作流·ai agent·智能体·langgraph
狂炫冰美式13 分钟前
电脑合盖之后 Cursor 还在偷我电?看看为啥
前端·人工智能·后端
leeyi14 分钟前
微前端:14 个子应用是怎么做到不散架的——DeepFlux 前端工程拆解(第102篇)
前端·aigc·agent
程序员三明治14 分钟前
【体验毛坯房】Deep Harness 入门教程
java·人工智能·后端·大模型·llm·deepseek·dsh
zzzll111114 分钟前
深入理解 Java HashMap:从原理到实战
java·开发语言·哈希算法