1、#define
被定义为“宏”的标识符称为“宏名”,在编译预处理时,对程序中所有出现的“宏名”,都用宏定义的字符串去代换,宏代换是由预处理程序自动完成的。
宏定义的作用范围仅限于当前文件,在file1.c中定义的#define PI 3.14在file2.c中不起作用;但#define PI 3.14定义在common.h中,而file1.c与file2.c都#include "common.h",那么在两个文件中都起作用。
2、#define的开关作用举例
有时候在程序设计时候,会遇到程序奔溃的情况,此时需要判断是具体哪个子函数出了问题,因此在几个关键步骤下需要打LOG;但是打完了LOG以后,在正式发布时候又不需要这么多琐碎的LOG。针对这种情况可以在单个CPP中定义#define,在检查调试时候可以跟进LOG,同事在程序发布时又可以去掉LOG。
更多也可参考:https://blog.csdn.net/benny5609/article/details/2314541