| 提前(编译的时候)处理 当条件满足的时候去编译一段代码 好处:可移植、生成更小的目标文件 (了解) 
 //1.    普通判断(编译预处理指令) 
 int main(){           #if()   //没有花括号   判断的都是预处理指令      #elif()      #else      #endif  //条件判断结束          return 0; } 
 
 
 //2.     判断是否有定义  宏定义 //宏定义 #define xxx 10 
 #ifdef xxx           ==            #if defined(xxx) //判断  是否定义了  xxx这一个宏定义 //代码 #endif 
 --------------------------------------------- 
 
 //  判断是否没有定义这个宏定义 #ifndef xxx       ==         #if !defined(xxx) 
 
 #endif 
 
 //-----------------C语言中关于头文件重复包含问题------------ //3.   防止头文件重复包含 
 #ifndef  头文件名_h #define  头文件名_h 
 /*在这里面放上你需要的代码*/ 
 #endif 
 理解:为什么头文件重复包含会停不下来?  关键点是#include的用法是拷贝头文件的内容到此处 
 
 
 |