一、简单定义一个宏:
#define PI 3.14159
这样在编译中字符PI就会被替换为3.14159。PI为什么要大写呢?小写当然也可以,不过人们为了方便彼此阅读,会默认全局变量用大写表示。
二、宏与数组
在预编译时标识符N会被替换为10。
#include <stdio.h>
#define N 10
int main()
{
int array[N]={1};//只第一个值,余下为0
for(int i=0;i<p;i++)
{
printf("%d",array[i]);
}
while(2);
return 0;
}
二、宏的多样用法
例如我们用宏多样输出3个3。因为宏的主要功能是替换,我们用PR代替printf,用NL代替"\n",用D代替"%d",就有了如下操作:
#include <stdio.h>
#define PR printf
#define NL "\n"
#define D "%d"
#define D3 D D D
int main()
{
int a=3;
printf("%d""%d%d",a,a,a);//可以多引号
PR(NL);
PR(D D D,a,a,a);//D之间要有空格,没有空格DDD会被看做一个符号
PR(NL);
PR(D3,a,a,a);
getchar();
return 0;
}
这样看起来简直是把程序语法重新定义了。