define 是一个预处理指令。 在C或C++语言源 程序 中允许用一个标识符来表示一个字符串,称为“ 宏 ”。 被 定义 为“ 宏 ”的标识符称为“ 宏 名”。
-
define定义标识符常量
例如:#define MAX 1000
- define 定义宏
宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名,这只是一种简单的代换,字符串中可以含 任何字符 ,可以是 常数 ,也可以是表达式 。而预处理程序对它不作任何检查 。
如有错误,只能在编译已被宏展开后的源程序时发现。
宏定义不是说明或语句,在 行末不必加分号 ,如加上分号则连分号也一起置换。
宏定义必须 写在函数之外 ,其作用域为宏定义命令起到源程序结束。
如要 终止其作用域可使用# undef命令 。
#define ADD(x, y) ((x)+(y))
#include <stdio.h>
int main()
{
int sum = ADD(2, 3);
printf("sum = %d\n", sum);
sum = 10*ADD(2, 3);
printf("sum = %d\n", sum);
return 0; }
惯例将宏名称每个字母采用大写,这有助于区分宏与一般的变量。