#ifndef都是一种宏定义判断,作用是防止多重定义。
#ifndef是if not define的简写。
一般的使用场景为:
1)、头文件中使用,防止头文件被多重调用
2)、作为测试使用,省去注释代码的麻烦
3)、作为不同角色或者场景的判断使用。
头文件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。
还是把头文件的内容都放在#ifndef和#endif中吧。不管你的头文件会不会被多个文件引用,你都要加上这个。一般格式是这样的:
#ifndef <标识>
#define <标识> …
#endif