其他分享
首页 > 其他分享> > 为什么#ifndef和#define在C头文件中使用?

为什么#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