Copy from C语言中#undef的语法是: #undef 标识符 用来将前面定义的宏标识符取消定义. 整理了如下几种常见用法,如果以后发现其他的再添加进来. 1.在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消其宏定义: #include <stdio.h> int main(){#define MAX 200printf("MAX = %d\n", MAX);#undef MAX {int MAX = 10;printf("MAX = %d\n&
如果你想定义这个宏那就#define X 如果你不想让你已经#define X的宏在其他地方由于引入这个包含宏定义的.h文件而引起一些编译问题,那你就#undef X掉,就这么简单. 举个简单的例子: 有1.c,11.h,12.h三个文件,其中在11.h中定义了#define X extern x int a: 而在12.h中你又定义了#define X int x b: 而在1.c中同时包含了这2个头文件,那就会引起一些问题,此时你必须把其中一个#undef掉来确保宏的正常. #include