#undef取消宏定义

匿名 (未验证) 提交于 2019-12-02 23:57:01

  如果你想定义这个宏那就#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 <stdio.h>
  int main(void)
  {
  #define MAX 200
   printf("MAX = %d\n",MAX);
  #undef MAX
  #define MAX 300
   printf("MAX = %d\n",MAX);
   return 0;
  }

 

 

  
 
 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!