返回介绍

10.4 本章小结

发布于 2025-04-11 22:33:06 字数 794 浏览 0 评论 0 收藏 0

预处理命令是由预处理器来执行和处理的指令,经过预处理之后,在进行编译之前,源代码中就已不再含有预处理命令了。预处理命令大致可分为文件包含、宏和条件编译几个部分,所有的预处理命令都是以“#”号开头的。

头文件也是一个文本文件,它是和源文件相对应的,在 C 语言中,源文件通常都是以.c 作为文件名的后缀,而头文件则是以.h 作为文件名的后缀。

#include 命令用于包含头文件,即将一个指定的头文件的内容包含至当前文件中。

宏根据有无参数可以分为无参宏和有参宏,而每个宏又可以分为宏名和宏值部分,在对源文件进行编译前,预处理器会对源代码中的宏进行文本替换处理,即将宏名部分替换为所对应的宏值部分。因此,也常将这种宏处理的行为称为宏替换或宏展开。

可以通过#define 命令来定义一个宏,通过#undef 命令来取消一个宏的定义。

带参宏只是对参数的简单文本替换,不会对参数进行求值。因此,在宏定义时,宏值部分的每个参数最好都加上了小括号。可以使用“#”将参数转换为字符串常量,还可以使用“##”对带参宏中的参数进行结合。

可以将一个宏作为另一个宏的参数进行宏的嵌套使用。需要注意的是,当带参宏的宏值部分含有“#”或“##”符号时,作为参数的宏是不会被展开的。

条件编译类似于 C 语言中的 if…else 语句,可以通过条件编译来对代码进行控制,在特定条件下,让某些代码参与编译或不参与编译。#if、#ifdef、#ifndef 三个命令可用于条件编译,其中#else 部分是可选部分,但作为条件编译结束标记的#endif 不可被省略。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。