#undef 作用:取消定义的宏 
指令格式:#undef 标识符 
-  1 #include <stdio.h>
-  2 
-  3 #define MAX 5
-  4 
-  5 int main() {
-  6   printf("MAX is %d\n", MAX);
-  7 
-  8   #undef MAX
-  9 
- 10   #if defined(MAX)
- 11     printf("MAX id %d\n", MAX);
- 12   #else
- 13     printf("NOT DEFINED MAX!");
- 14   #endif
- 15 
- 16   return 0;
- 17 }
 
运行结果:

 
注意:在《MISRA-C-2004工业标准的C规范》中要求不允许使用#undef,详见《MISRA-C-2004工业标准的C规范》规则19.6。