C语言编译预处理1
宏定义:宏定义是在编译之前,由预处理器对代码中的宏名进行文本替换的过程。通过 #define
指令来定义宏,它可以是简单的常量,也可以是带参数的代码片段。
#include "stdio.h"
#define x 2
#define y 3
#define m(a,b) a>b?a:b //三元运算符
int main()
{
int result,t,g;
t=x;
g=y;
result=t+g;
printf("result = %d\n",result);
result=m(3,2);
printf("result = %d\n",result);
}
//输出是5和3
宏定义只是简单的文本替换,不会进行类型检查
#undef
一旦使用 #undef
取消了某个宏的定义,在后续的代码中,该宏名就不再代表之前定义的替换文本,除非再次使用 #define
重新定义它。
#include "stdio.h"
#define x 2
#define y 3
#define m(a,b) a>b?a:b
int main()
{
int result,t,g;
t=x;
g=y;
result=t+g;
#undef m(a,b)
#define m(a,b) a<b?a:b
printf("result = %d\n",result);
result=m(3,2);
printf("result = %d\n",result);
}
//输出是5和2