专题七:怎么使用宏
1. 宏定义指令
(1)常量宏
提高代码的可读性,可维护性。
#define 宏名 宏值
预处理器将代码中出现的宏名全部替换为宏值。这个过程就叫做宏扩展或宏替换。
(2)参数宏(宏函数)
#define 宏名(宏参数) 宏值
预处理器将宏参数替换为实际值后,代码中的宏名全部替换为宏值。
注意:小括号不要少。参数和被替换的宏值
#defineSQUARE(X) ((X)*(X))
(3)#和##
#:表示将其后的宏参数作为字符串字面值进行替换。
##:表示将其后的宏参数替换以后与其前面的部分粘连在一起。
2. 条件编译指令
#if // 如果,#if VER==1
#ifdef // 如果定义了...
#ifndef // 如果没有定义...
#elif // 否则如果...
#else // 否则
#endif // 和#if/#ifdef/#ifndef配对使用
#undef // 取消定义,和#define相反
满足条件(条件表达式的值非零)的代码参加编译,否则不参加编译。
3. 头文件卫士
头文件卫士:在xxx.h中
#ifndef _XXX_H
#define _XXX_H
// 头文件代码...
#endif // _XXX_H
防止同一个.h文件被沿着不同路径包含到一个.c文件中产生重定义冲突
注意:#include< >表示从系统目录下查找头文件
#include “ ”表示先从当前目录下查找头文件,如果没找到,就从系统目录下查找头文件