一、宏定义的概述
宏定义的基本形式如下:
# define 标识符 字符串
#表示这是一 条预处理命 令
我们看一段代码:
//FileName: chap9_1.c
#include <stdio.h>
#define M (y*y+3*y)
int main( )
{
int s,y;
printf("input a number: ");
scanf("%d",&y);
s=3*M+4*M+5*M;
printf("s=%d\n",s);
return 0;
}
分析运行的结果,和我们之前使用的变量定义方式存在着什么不同的地方
程序运行结果如下: input a number:2↙ s=120
使用宏定义的几点注意事项:
①在C语言中宏定义其实就是用宏名来定义字符串,将字符串换一种方式表达,在宏展开时又以该字符串来取代宏名。
②说了这么多那么宏定义待敌是不是说明或语句,是的,宏定义是说明语句,并且在行末不必加分号,如加上分号则连分 号也一起置换。
③其实通过上面的代码,不难看出宏定义是必须写在函数之外的,而且他的作用域为宏定义命令起到了源程序结束。
④那么将宏名在源程序中使用引号括起来,结果就是预处理程序不对其作宏代换。