结果体重一个enumjava枚举类型enum用法占的内存长度是多少

> enum枚举变量占几个bit?在16位32位64位机下是否不同?该如何处理
enum枚举变量占几个bit?在16位32位64位机下是否不同?该如何处理
sarah741 & &
发布时间: & &
浏览:6 & &
回复:4 & &
悬赏:0.0希赛币
enum枚举变量占几个bit 在16位32位64位机下是否不同?因为VC中bool和BOOL一个是枚举定义的,一个是int型3态变量,后来在freescale的68HC12的IDE中看到Bool的定义用枚举定义的:
typedef & enum & BOOL &
& FALSE & = & 0,
& TRUE & = & (enum & BOOL)-1
而所带ANIC & C的lib中是这样定义的
typedef & int & B
#define & TRUE &
#define & FALSE & 0
请教枚举变量在不同的系统中是多少bit呢?
用sizeof()运算符测试
sarahcoco & &
22:19:06 & &
& & (0)(0)引用我理解的:
如果有typedef,定义的变量一般是int型的4个字节
如果没有定义typedef类型的话,相当于一个宏定义。在编译的时候就已经把enum中的值全部替换掉了。
sarahcoco & &
22:19:06 & &
& & (0)(0)引用是C语言中的, 还是C++语言中的
sarakoki & &
22:19:06 & &
& & (0)(0)引用哦,抱歉,刚才看错了.
&请教枚举变量在不同的系统中是多少bit呢 &
这个从标准上说, 是由实现定义的, 也就是说不同系统不同编译器可能都不同.
但标准C/C++中也有一个限定, 就是enum必须兼容于整型(char, signed int, unsigned int).
就是说enum的大小绝不能超过int.
(所以sizeof(enum) &
sizeof(int) 是可以确定是错误的).
但具体是多少, 只要能表达你写在enum里的变量, 实现(编译器,系统)想采用多大采用多大.
因此,你无法假定enum类型的大小, 所以在需要的时候
得像二楼说的那样用 sizeof(your_enum_type)代替.
sarahyo & &
22:19:06 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & && 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
第6章 枚举与数组
下载积分:30
内容提示:C语言学习教案课件,进入C语言学习的最佳途径
文档格式:PDF|
浏览次数:78|
上传日期: 15:23:20|
文档星级:
该用户还上传了这些文档
第6章 枚举与数组
官方公共微信结构体(Struct)联合体(Union)枚举(enum)总结
结构体(Struct)联合体(Union)枚举(enum)总结
对于这三个结构型数据类型,也C/C++当中常见的数据类型。不过,结构体,联合体,枚举这三种数据类型都适合在何种情况下使用,恐怕大多数人都不胜了解,下面就从概念上一一区别和 研究。
结构体struct是用一系列具有相同类型或不同类型的数据构成的数据集合。结构体是一些元素的**集合**
结构体在程序中的作用最主要的作用就是封装,而封装的好处就是可以再次利用。使用者不必关心这个是什么,只要根据定义使用就可以。
联合体union,使用的是**覆盖技术**,几个变量互相覆盖,使几种不同类型的变量存放在同一段内存单元中。
**注意:**1。在同一时刻,结构体的每个成员都有值,但联合体在每一时刻都只有一个成员的值。因为——修改联合体时,会将原来的成员值覆盖,所以,一个结构体变量占内存大小为结构体中所有成员总和,一个联合体变量占内存大小为联合体中占内存字节最大的字节。
枚举:enum 枚举目的就是一一列举,用处不是很常见,举个小例子,我们用enum定义一个变量,该变量来表示发送不同类型的包。
![定义包的类型](http://img.blog.csdn.net/55944)
在这里,会默认APPEAL_REG = 0,后面的APPEAL_LOGIN = 1 ,依次后面的变量加一;需要注意的枚举是一个被命名的整型常数的集合,不能出现其他形式的数据类型来定义枚举的成员。
我的热门文章
即使是一小步也想与你分享}

我要回帖

更多关于 java枚举类型enum用法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信