宏(Macro)是预处理命令的一种,它允许用一个标识符来表示一个字符串。先看一个例子:#include#define N 100 int main(){ int sum = 20 + N; printf("%d\n", sum); return 0; }运行结果:
该示例中的语句int sum = 20 + N;,N被100代替了。
#define N 100就是宏定义,N为宏名,100是宏的内容。在预处理阶段,对程序中所有出现的“宏名”,预处理器都会用宏定义中的字符串去代换,这称为“宏替换”或“宏展开”。
宏定义是由源程序中的宏定义命令#define完成的,宏替换是由预处理程序完成的。
宏定义的一般形式为:
#define 宏名 字符串
#表示这是一条预处理命令,所有的预处理命令都以 # 开头。define是预处理命令。