为什么#ifndef和#define在C头文件中使用?
作者:互联网
我一直在头文件的开头看到这样的代码:
#ifndef HEADERFILE_H
#define HEADERFILE_H
并在文件的最后是
#endif
这样做的目的是什么?
解决方法:
这些被称为#include guards.
包含标头后,它会检查是否定义了唯一值(在本例中为HEADERFILE_H).然后,如果未定义,则定义它并继续到页面的其余部分.
当再次包含代码时,第一个ifndef失败,导致空白文件.
这可以防止双重声明任何标识符,例如类型,枚举和静态变量.
标签:c-3,c,c-preprocessor 来源: https://codeday.me/bug/20190915/1804914.html