005、安全开发篇(一):注释方式
返回:安全开发篇(一)目录 · 上一篇:004、C 语言程序架构 · 下一篇:006、include 预处理指令
对应视频:1.4 基础-注释方式.mp4
1、学习目标
这一节学习 C 语言的注释方式。注释不参与编译,也不会改变程序执行结果,但会影响代码后续能不能被自己和别人读懂。
需要掌握:
- 单行注释;
- 多行注释;
- 行尾注释;
- 注释应该写什么;
- 安全开发实验中如何记录关键观察。
2、单行注释
单行注释从 // 开始,到当前行结束。
1 |
|
单行注释适合解释一行代码、一个变量或一个短逻辑。
3、多行注释
多行注释用 /* */ 包围。
1 | /* |
多行注释适合记录模块说明、实验目的、调试结论或复杂逻辑。
4、行尾注释
1 | int max_count = 10; // 最多尝试次数 |
行尾注释要短,不要把很长的说明塞在同一行,否则代码会很乱。
5、注释写什么
好的注释不重复代码表面意思,而是解释原因、边界和风险。
| 不推荐 | 推荐 |
|---|---|
i++; // i 加 1 |
i++; // 进入下一轮扫描 |
return 0; // 返回 0 |
return 0; // 程序正常结束 |
char buf[16]; // 字符数组 |
char buf[16]; // 只允许保存 15 个字符和结尾 \0 |
注释最有价值的地方,是帮未来的自己记住当时为什么这样写。
6、安全开发中的注释习惯
安全开发学习里,注释可以记录一些和漏洞、边界、内存相关的信息。
1 |
|
可以重点注释:
- 缓冲区大小;
- 指针是否可能为空;
- 输入长度是否检查;
- 函数返回值是否需要判断;
- 某个写法只是实验,不适合生产环境。
7、常见问题
7.1 注释会影响程序性能吗?
不会。注释在编译前会被处理掉,不参与程序运行。
7.2 注释越多越好吗?
不是。注释应该解释代码意图、边界和原因。重复代码表面含义的注释太多,反而会降低可读性。
7.3 多行注释能嵌套吗?
C 语言的 /* */ 多行注释通常不能直接嵌套。嵌套后容易导致注释提前结束,引发编译错误。
8、复盘题
8.1 // 和 /* */ 有什么区别?
// 是单行注释,只影响当前行从 // 到行尾的内容;/* */ 是多行注释,可以跨越多行,直到遇到结束符 */。
8.2 安全开发实验里为什么要记录缓冲区大小?
因为数组和字符串的边界是很多内存问题的来源。记录缓冲区大小可以提醒自己后续输入、复制和拼接时检查长度。
8.3 注释应该解释“是什么”还是“为什么”?
优先解释“为什么”。代码本身已经表达了“做什么”,注释更应该补充设计意图、边界条件、风险和实验结论。
这一节的关键不是会写注释符号,而是建立“给未来复盘留线索”的习惯。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!


