首页 > 解决方案 > _headerfile_h 这个名字是什么意思

问题描述

我一直在阅读 Zed Shaw 的“Learn C The Hard Way”。在第 20 章中,作者创建了一个头文件 egheaderfile.h并包含 #ifndef _headerfile_h. 我理解#ifndef指令但不理解_headerfile_h。请解释这一点_headerfile_h或提及任何资源来寻找它。

#ifndef _headerfile_h
#define _headerfile_h

…other material…

#endif /* _headerfile_h */

标签: cheader-filesinclude-guards

解决方案


它只是一个仅由该标头使用的唯一名称,以防止标头包含两次时出现问题。

请注意,通常不应创建以下划线开头的函数、变量、标记或宏名称。C11 §7.1.3 保留标识符的一部分说:

  • 以下划线和大写字母或另一个下划线开头的所有标识符始终保留用于任何用途。
  • 所有以下划线开头的标识符始终保留用作普通和标记名称空间中具有文件范围的标识符。

也可以看看:

可能还有其他一些人。其中一些问题与其他资源有进一步的链接——SO 问题和外部链接。


推荐阅读