本文继续学习预处理指令,并延续前文编号。
三、预处理指令 #undef
有时想定义一个宏,但不记得以前是否使用过,如重复定义且定义内容不同,会报错。此时可以先使用 #undef 命令取消这个宏名;即使取消一个不存在的宏名也无所谓,系统也不会报错。
格式:#undef 宏名
四、预处理指令 #include
这是一个已经使用过多次的预处理命令,作用是编译时将其它源码文件,加载进入当前文件。习惯上我们称这个命令操作为包含某头文件。
格式1:#include <*.h> //加载系统提供的文件用尖括号
格式2:#include "*.h" //加载自己写的文件引号
说明:多个#include语句无顺序要求;重复包含也不会报错。
五、预处理指令 #if…#endif
#if … #endif指令用于预处理的条件判断,满足条件时,内部的行会被编译,否则就被编译器忽略。该语句中间还可以加上#else,形成#if ... #else ... #endif结构 (见举例程序)
六、预处理指令 #ifdef…#endif
#ifdef…#endif 指令用于判断某个宏是否定义过。为了避免源码文件可能重复加载某个头文件,可以在头文件里使用 #define 命令定义一个空的宏。在需要加载处通过#ifdef…#endif语句检查这个宏,判断头文件是否被加载了。如未加载,可以配合使用#else予以加载。
七、预处理指令 #ifndef…#endif
#ifndef…#endif指令与第六条介绍的指令正好相反。它用来判断,