宏命名规则:纯大写 或者 k+驼峰 例如: MAX 或者 kMax
普通宏
#define PI 3.1415
带参数的宏
#define MUL(A,B) ((A)*(B))
加括号是为了防止受操作符优先级的影响。
条件编译
作用:按不同的条件,编译不同的代码。
条件编译 有三种形式。
- 第一种形式
#ifdef 标识符
代码段1
#else
代码段2
#endif
如果 标识符 被#define过,编译器编译代码段1,否则编译代码段2.
- 第二种形式
#ifndef 标识符
代码段1
#else
代码段2
#endif
如果 标识符 未被#define过 编译器编译代码段1,否则编译代码段2.
- 第三种形式
#if 常量表达式
代码段1
#else
代码段2
#endif
如果 常量表达式结果非0 编译器编译代码段1, 否则编译代码段2.