C中宏的定义与使用

一、简单定义一个宏:

#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;
}

这样看起来简直是把程序语法重新定义了。

猜你喜欢

转载自blog.csdn.net/m0_46606140/article/details/106238378