如果用#define指令说明常量,常量只需说明一次,就可多次在程序中使用,而且维护程序时只需修改#define语句,不必一一修改常量的所有实例。例如,如果在程序中要多次使用PI(约3.14159),就可以象下面这样说明一个常量:
#define PI 3.14159
如果想提高PI的精度,只需修改在#define语句中定义的PI值,就不必在程序中到处修改了。通常,最好将#define语句放在一个头文件中,这样多个模块就可以使用同一个常量了。
用#define指令说明常量的另一个好处是占用的内存最少,因为以这种方式定义的常量将直接进入源代码,不需要再在内存中分配变量空间。
但是,这种方法也有缺点,即大多数调试程序无法检查用#define说明的常量。
用#define指令说明的常量可以用#under指令取消。这意味着,如果原来定义的标识符(如NULL)不符合你的要求,你可以先取消原来的定义,然后重新按自己的要求定义一个标识符,详见5.31。