如何改变枚举类型的长度?

[复制链接]
5155|6
 楼主| xlsbz 发表于 2010-5-22 08:02 | 显示全部楼层 |阅读模式
比如说1个字节的长度,改成2个字节的。如何强制转换?
ayb_ice 发表于 2010-5-22 08:47 | 显示全部楼层
enum{
     (int)RED
....
应该可以
 楼主| xlsbz 发表于 2010-5-22 21:56 | 显示全部楼层
:lol  多谢! 不知道啊 !
yoghen 发表于 2014-10-16 17:14 | 显示全部楼层
现在你成大牛了吧,有明确答案没?我先标记一下,如果成功,后面来补充一个在MDK下的答案
 楼主| xlsbz 发表于 2014-10-17 12:50 | 显示全部楼层
yoghen 发表于 2014-10-16 17:14
现在你成大牛了吧,有明确答案没?我先标记一下,如果成功,后面来补充一个在MDK下的答案 ...

啊  我4年前的帖子 感觉现在还没以前水平高 啊  退步了啊
yoghen 发表于 2014-12-5 17:52 | 显示全部楼层
    后来没找到答案,又用不到了,就不管这事情了。结果今天被这事情,坑得不浅,不管有用没用,我把MDK的处理方式贴在这把。
enum a {
        x = 0x00, y = 0x02, z = 0x03
};

enum b {
        i = 0x104, j = 0x105, k = 0x106
};

enum c {
        l = 0x10000
};

enum a m;
enum b n;
enum c o;

        printf("m size: %d\r\n", sizeof(m));
        printf("n size: %d\r\n", sizeof(n));       
        printf("o size: %d\r\n", sizeof(o));

输出:
m size: 1
n size: 2
o size: 4
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

1614

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部