打印

求教 C语言 枚举类型 长度 如何指定

[复制链接]
2298|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
电子乌托邦|  楼主 | 2015-9-18 10:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
电子乌托邦|  楼主 | 2015-9-18 10:28 | 只看该作者
typedef enum
{
        RED = 1000,
        BLUE = 1001,
}COLOR;
这个办法行,但是RED的值是1000了。参与运算的时候困难有没有什么好方法

使用特权

评论回复
板凳
nethopper| | 2015-9-18 10:48 | 只看该作者
这样的话,添加个占位置的但不用的变量就可以了吧?

使用特权

评论回复
地板
电子乌托邦|  楼主 | 2015-9-18 11:15 | 只看该作者
nethopper 发表于 2015-9-18 10:48
这样的话,添加个占位置的但不用的变量就可以了吧?

这法子可以,但是怪怪的,拍移植有问题

使用特权

评论回复
5
dirtwillfly| | 2015-9-18 14:14 | 只看该作者
c51中由枚举类型中长度最大的常量指定,但不会超过16位
你可以另外增加一个16位的数据,不用它就是了。也不影响另外两个数据的使用

使用特权

评论回复
6
dirtwillfly| | 2015-9-18 14:14 | 只看该作者
typedef enum
{
         RED = 0,
         BLUE = 1,
         green =1002,
}COLOR;

使用特权

评论回复
7
songchenping| | 2015-9-18 14:55 | 只看该作者
正解啊。

使用特权

评论回复
8
457344370| | 2015-9-18 15:07 | 只看该作者
在options for target 里的C/C++里选中enum container always int试试

使用特权

评论回复
9
疯小子| | 2015-9-19 07:34 | 只看该作者
枚举类型长度与最长的数据类型一样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

140

主题

633

帖子

2

粉丝