C语言23 终极篇 预处理之宏定义、条件编译和文件包含

什么是预处理

预处理一般是指在程序源代码被转换为二进制代码之前,由预处理器对程序源代码文本进行处理,处理后的结果再由编译器进一步编译。

预处理功能主要包括宏定义,文件包含,条件编译三部分

宏定义

简单宏: #define 标识符 字符序列

#define FALSE 0
#define NAME "LUODAOYI"
#define __IN
#define __OUT
//极端例子
#define NAME "LUODAOYI"
#define A int method() {
#define B char buffer[0x10];
#define C strcpy(buffer,NAME);
#define D return 0;}
#define E method();
//使用
A
B
C
D
int main()
{
    E
    return 0;
}

带参数的宏 #define 标识符(参数表) 字符序列

#define MAX(A,B)((A)>(B)?(A):(B))
int method()
{
    int x = 1;
    int y = 2;
    int z = MAX(x,y);
    return 0;
}
// 多行定义 // '\' 后不可有空格

发表评论

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>