预定义符号 #define
例1:
#define MAX_SIZE 20
#define 用于替换文本代码
#define MAXSIZE 20
void main()
{
char str[MAXSIZE];
}
编译器在处理这个代码之前会对MAXSIZE进行处理,替换为20。
例2:
替换参数
#define DOUBLE(x) ((x)+(x))
#define DOUBLE(x) ((x)+(x))
void main()
{
int apple = 10;
printf("%d\n",DOUBLE(apple));
}
当宏被调用时,名字后面是一个由逗号分隔的符号列表,每个值都与宏定义中的一个参数相对应,整个列表用一对括号包围。当参数出现在程序中时,与每个参数对应的实际值都将被替换到宏名中。
为避免宏对附近的代码产生影响,应在左右两侧加上括号。
例3:
创建一个死循环代码。
#define do_forever while(1);
#define do_forever while(1);
int main()
{
printf("HelloWorld!");
do_forever
return 0;
}
例4:
写一个多行