文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
10.4 本章小结
预处理命令是由预处理器来执行和处理的指令,经过预处理之后,在进行编译之前,源代码中就已不再含有预处理命令了。预处理命令大致可分为文件包含、宏和条件编译几个部分,所有的预处理命令都是以“#”号开头的。
头文件也是一个文本文件,它是和源文件相对应的,在 C 语言中,源文件通常都是以.c 作为文件名的后缀,而头文件则是以.h 作为文件名的后缀。
#include 命令用于包含头文件,即将一个指定的头文件的内容包含至当前文件中。
宏根据有无参数可以分为无参宏和有参宏,而每个宏又可以分为宏名和宏值部分,在对源文件进行编译前,预处理器会对源代码中的宏进行文本替换处理,即将宏名部分替换为所对应的宏值部分。因此,也常将这种宏处理的行为称为宏替换或宏展开。
可以通过#define 命令来定义一个宏,通过#undef 命令来取消一个宏的定义。
带参宏只是对参数的简单文本替换,不会对参数进行求值。因此,在宏定义时,宏值部分的每个参数最好都加上了小括号。可以使用“#”将参数转换为字符串常量,还可以使用“##”对带参宏中的参数进行结合。
可以将一个宏作为另一个宏的参数进行宏的嵌套使用。需要注意的是,当带参宏的宏值部分含有“#”或“##”符号时,作为参数的宏是不会被展开的。
条件编译类似于 C 语言中的 if…else 语句,可以通过条件编译来对代码进行控制,在特定条件下,让某些代码参与编译或不参与编译。#if、#ifdef、#ifndef 三个命令可用于条件编译,其中#else 部分是可选部分,但作为条件编译结束标记的#endif 不可被省略。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论