预处理,主要用于选择编译 (编译的时候不要某些代码,可以用预处理删掉)
#if 常量表达式//***#endif#if 常量表达式1//***#else 常量表达式2//***#endif#if 常量表达式1//***#elif 常量表达式2//***#elif 常量表达式3//***#endif//宏、算术运算、逻辑运算 都是常量表达式(结果是布尔值即可)//#if、#elif只能用于对象宏、不能用于函数宏(带参数的宏)//================================================//复合条件//复合条件运算符,&&,||#if 常量表达式1 复合条件运算符 define 常量表达式2
宏定义、宏判断
| defined | 用于#if #elif 中的宏判读,可以直接返回ture或false(是一种运算式) | 
|---|---|
| #define | 宏定义 | 
| #ifdef | 宏判断(判断存在) | 
| #ifndef | 宏判断(判断不存在) | 
| #endif | 所有判断体的结束标志 | 
宏
未定义的宏,值为0(false) 已定义的宏,值为1(ture)
//定义对象宏#define 宏名
//定义带参宏#define 宏名 字符串//字符串可以是,表达式,关键字等任何想代替的形式
宏的判断,请用#ifdef 、#ifndef、defined这3种形式
