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

相关推荐
柳杉几秒前
借助 Codex 和可视化工作流,从调研到完整实现,3D 大屏竟然可以这么简单
前端·ai编程·数据可视化
IMPYLH32 分钟前
HTML 的 <wbr> 元素
前端·html
paopaokaka_luck1 小时前
滑雪场管理系统(AI智能助手流式对话,ECharts 运营数据分析、教练、雪具与场地一体化预约,钱包支付退款、订单核销与服务评价)
java·人工智能·spring boot·网络协议·数据分析·echarts
Dovis(誓平步青云)1 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
Wang's Blog1 小时前
Java 项目实战: 交友项目 - Dubbo 的内部结构与一次调用的完整链路
java·dubbo
Wang's Blog1 小时前
Java 项目实战: 交友项目 - Dubbo 入门引导
java·dubbo·交友
IT_陈寒2 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端
网易云信2 小时前
大模型能上岗做销售吗?我们让 12 款国产模型交了 420 份作业
前端·后端
蜗牛互联网2 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python
计算机魔术师2 小时前
Perplexity:每个 Project 都是一个 Git 仓库
前端