8.3.2 #undef命令
undef命令用于取消前面用#define命令定义过的宏名,一般形式如下。
undef宏名
其中,“#undef”是取消宏定义指令,“宏名”为前面用#define命令定义过的标识符。
使用#undef命令的目的是将宏名局限在指定的代码段中,这样可以限制宏定义的使用范围。使用#undef命令的程序示例如下。
include<stdio.h>//头文件
define COUNT 50//宏定义
void main()//主函数
{
printf(“COUNT=%d\n”,COUNT);//输出COUNT=50
undef COUNT//撤销COUNT宏定义
//printf(“COUNT=%d\n”,COUNT);//此时再引用COUNT是错误的
}
该程序可以在KeilµVision3集成开发环境中运行,其结果如下所示。
COUNT=50
在本例中,在使用#undef命令取消宏定义前,COUNT是有定义的,其值为50。在使用#undef命令取消宏定义后,COUNT没有定义不能使用,因此第二个输出语句是错误的。使用#undef命令可以终止宏定义的作用域。