#if defined和#if !defined(c语言的宏定义)

我们要检查a是否定义

#if defined a 
#undef a 
#define a 200 
#endif 

上述语句检验a是否被定义,如果被定义,则用#undef语句解除定义,并重新定义a为200 

#ifndef a    //如果a没有被定义 
#define a 100 
#endif 

#undef为解除定义

#ifndef是if not defined的缩写,即如果没有定义

作用

1 条件编译

#if !defined XXX_XXX 
#define XXX_XXX 
#endif

2 错误信息

#if !defined(__cplusplus) 
#error C++ compiler required. 
#endif 

原文地址:https://www.cnblogs.com/baoshulin/p/4594796.html