该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104344257
C语言的编译预处理命令主要包括:宏定义、文件包含和条件编译。预处理命令均以“#”开始,命令的结尾没有分号,每条预处理命令必须占用单独一行。
宏定义
(1) 无参宏定义
无参宏定义的一般形式如下:
#define 宏名 字符序列
如果源程序中使用了宏定义,编译预处理过程中,自动把源程序中出现的所有“宏名”替换为“字符序列”,这是一个纯文本替换,也称为宏替换。
例如下面定义了3个无参宏名:
#define PI 3.14
#define R 10
#define AREA PI*R*R
(2) 有参宏定义
有参宏定义的一般形式如下:
#define 宏名(参数表) 字符序列
有参宏定义在进行宏替换时,源程序出现宏名的地方都使用字符序列替换,替换时使用宏引用中的实参去替换宏定义中的形参。
例如,如下定义了一个有参的宏名。<