C语言中#undef作用

#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。

posted @ 2019-03-05 11:01  xbook_ben  阅读(3128)  评论(0编辑  收藏  举报