首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C语言中,双下划线在变量名中意味着什么?

在C语言中,双下划线在变量名中意味着什么?
EN

Stack Overflow用户
提问于 2010-07-24 16:15:50
回答 3查看 7.8K关注 0票数 9

可能重复: (双下划线)在C++中太多了

我当时正在学习Linux内核编程代码。

有些数据结构和函数以双下划线开头,如:

代码语言:javascript
复制
__u32  len

这和正常变量有什么不同?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-24 16:17:57

这意味着这是一个系统保留的名字。C标准规定,以两个下划线或下划线和大写字母开头的所有名称都保留给系统或编译器使用,不应在应用程序代码中定义。

票数 17
EN

Stack Overflow用户

发布于 2010-07-24 16:52:04

其他答案是正确的,因为它是为实现保留的。当然,Linux应该走出20世纪,使用标准的类型uint32_t,而不是无数的非标准名称(__u32u_int32_t,.)这困扰着遗产公司..。

票数 3
EN

Stack Overflow用户

发布于 2010-07-24 16:22:15

这是一种在这里中定义的类型(以及其他几个地方)。

按照惯例,通常在类型、变量或函数名称前面加上双下划线意味着一个始终保留的名称,如当前标准(C99)第7.1.3节所定义的那样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3325815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档