首页 >后端开发 >C++ >我可以在 C 标识符中使用下划线而不违反标准吗?

我可以在 C 标识符中使用下划线而不违反标准吗?

Linda Hamilton
Linda Hamilton原创
2024-12-28 21:25:12594浏览

Can I Use Underscores in C   Identifiers Without Breaking the Standard?

C 标识符中可以使用下划线吗?

C 采用某些约定来命名成员变量,例如在它们前面加上前缀像“m_”这样的字符将它们与局部变量和参数区分开来。但是,如 .NET 等其他框架中所见,使用下划线作为前缀会引发对其在 C 标准中的有效性的质疑。

管理下划线使用的规则

根据C标准,以下规则适用于下划线的使用标识符:

保留范围

  • 以下划线开头后跟大写字母或包含相邻下划线的名称保留用于任何范围的实现。

全球命名空间

  • 以下划线开头的标识符保留给全局命名空间。

std 命名空间

  • std 命名空间中的所有内容都被保留,包括

C99 限制

虽然不直接适用于 C ,但 C99 标准进一步限制下划线的使用:

  • 以下划线开头后跟大写字母的标识符保留用于任何
  • 以下划线开头的标识符保留为文件范围标识符。

其他限制

  • 以下划线开头的标识符通常不鼓励使用。
  • 双下划线应完全避免 (__)。
  • 以 _t 结尾的标识符由 POSIX 标准保留用于其他类型名称。

POSIX 标准保留标识符

POSIX 标准还保留了许多可能与正常代码使用冲突的标识符,包括以前缀开头的标识符“E”、“is”、“to”和“LC_”

结论

虽然在技术上允许在 C 标识符中使用下划线,但请遵守规则建议上述概述以避免潜在的冲突和混乱。

以上是我可以在 C 标识符中使用下划线而不违反标准吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn