目录
#undef 标识符是C语言中的一个重要的标识符,它的作用是用来将前面定义的宏标识符取消定义。
它常用在以下情况:
1、调试头文件
#ifdef _DEBUG_
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#define new DEBUG_NEW
#endif
/*********** 例程6:debug.h ***********/
2、防止宏定义冲突
在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消其宏定义。
#include <stdio.h>
int main()
{
#define MAX 200
printf("MAX = %d\n", MAX);
#undef MAX
int MAX = 10;
printf("MAX = %d\n", MAX);
return 0;
}
/******** 例程1:main.c ********/
在一个程序段中使用完宏定义后立即将其取消,防止在后面程序段中用到同样的名字而产生冲突。
3、增强代码可读性
在同一个头文件中定义结构类型相似的对象,根据宏定义不同获取