社区
C语言
帖子详情
枚举的大小
lanzhengpeng2
2003-01-07 09:46:17
C++标准中有没有规定枚举类型所尺寸?而各个流行的编译器中,他们又是按照什么样的规则来决定一个枚举的大小的?
例如:
enum EXAMPLE1{
E1_ONE,
E1_TWO,
};
enum EXAMPLE2{
E2_ONE,
E2_TWO,
E2_FORCEDWORD = 0xFFFFFFFF,
};
sizeof(EXAMPLE1)和sizeof(EXAMPLE2)各等于多少,他们的大小还受别的因素影响吗?如数据对齐方式或代码对齐方式?
...全文
403
6
打赏
收藏
枚举的大小
C++标准中有没有规定枚举类型所尺寸?而各个流行的编译器中,他们又是按照什么样的规则来决定一个枚举的大小的? 例如: enum EXAMPLE1{ E1_ONE, E1_TWO, }; enum EXAMPLE2{ E2_ONE, E2_TWO, E2_FORCEDWORD = 0xFFFFFFFF, }; sizeof(EXAMPLE1)和sizeof(EXAMPLE2)各等于多少,他们的大小还受别的因素影响吗?如数据对齐方式或代码对齐方式?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ixMind
2003-01-07
打赏
举报
回复
好像有些编译器对枚举有不同的处理
如果bc对255以内的是用一个byte来存储
在c#里也差不多是这样分级处理的
key20003
2003-01-07
打赏
举报
回复
我只想补充一下
不同的编译器对sizeof(int)也不相同
如vc++中是4个字节
而在tc++中是2个字节
windcsn
2003-01-07
打赏
举报
回复
或许你会认为他里面有多个枚举量。是的,多个枚举两并不影响其类型的大小,就象整数类型有很多种值,但是sizeof(int)是4(我的系统)个字节。
windcsn
2003-01-07
打赏
举报
回复
枚举在默认的情况下是将整数值赋给它。在内存中是用一个整数字节来存储的,所以上面的两个sizeof都应该是相应系统的整数字节数。
qing_li73
2003-01-07
打赏
举报
回复
have a crossed test via different environment
lanzhengpeng2
2003-01-07
打赏
举报
回复
ixMind(路在何方) :我也曾经这么听说过。所以,我要保证代码能在各个平台上无差异的运行,就必须清楚的知道枚举的大小或决定枚举尺寸大小的的规则
枚举
大小
sizeof中
枚举
的
大小
详解.pdf
。。。
枚举
大小
sizeof中
枚举
的
大小
详解.docx
。。。
枚举
大小
sizeof 中
枚举
的
大小
详解.docx
。。。
枚举
大小
sizeof 中
枚举
的
大小
详解.pdf
。。。
枚举
当前目录及子目录
大小
.bat
枚举
当前目录及子目录
大小
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章