C语言中,对枚举值赋值是什么意思?
答案:3 悬赏:20 手机版
解决时间 2021-11-07 17:36
- 提问者网友:欲劫无渡
- 2021-11-07 13:44
C语言中,对枚举值赋值是什么意思?
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-11-07 15:06
就是使枚举成员拥有指定值,而不是特殊值。
枚举类型定义规定,默认第一项枚举成员值为0,后一项枚举成员的值自动取前一个枚举成员的值加1。
但实际应用中,第一项的值不一定为0,所有枚举变量也不一定是连续的,这时就需要显式赋值。
如
enum TEST
{
TEST1 =1, //从1开始,而不是从0.
TEST2,//默认上一个加1,所以这个值是2.
TEST10 = 10, //出现不连续需求,这个值是10.
TEST11, //上一个加一,这个值是11.
};在使用枚举赋值时,需要注意:
1 不可以有重复值,否则会报错;
2 尽量从小到大排列,虽然乱序编译器不会报错,但会影响阅读和维护。
枚举类型定义规定,默认第一项枚举成员值为0,后一项枚举成员的值自动取前一个枚举成员的值加1。
但实际应用中,第一项的值不一定为0,所有枚举变量也不一定是连续的,这时就需要显式赋值。
如
enum TEST
{
TEST1 =1, //从1开始,而不是从0.
TEST2,//默认上一个加1,所以这个值是2.
TEST10 = 10, //出现不连续需求,这个值是10.
TEST11, //上一个加一,这个值是11.
};在使用枚举赋值时,需要注意:
1 不可以有重复值,否则会报错;
2 尽量从小到大排列,虽然乱序编译器不会报错,但会影响阅读和维护。
全部回答
- 1楼网友:逐風
- 2021-11-07 16:50
枚举变量默认从0开始,以此递增。
但是可以手动赋值,之后其后以此递增.
但是可以手动赋值,之后其后以此递增.
- 2楼网友:轻雾山林
- 2021-11-07 16:08
对枚举赋值是确定每个量的值,不然每个量的值是在前一个量的值得基础上加1的……希望可以帮到你追问例如,GPIO_Mode_IN_FLOATING = 0x04,本来GPIO_Mode_IN_FLOATING的值是01。赋值之后变成0x04了?追答是的,如果 不赋值的话,它的值是1,赋值后以所赋的值为准追问例如
typedef enum { GPIO_Speed_10MHz = 1,
GPIO_Speed_2MHz,
GPIO_Speed_50MHz }GPIOSpeed_TypeDef;
意思是第一个值GPIO_Speed_10MHz是1,以后的递增GPIO_Speed_2MHz=2,这样吗?追答是的
记得采纳哟!
typedef enum { GPIO_Speed_10MHz = 1,
GPIO_Speed_2MHz,
GPIO_Speed_50MHz }GPIOSpeed_TypeDef;
意思是第一个值GPIO_Speed_10MHz是1,以后的递增GPIO_Speed_2MHz=2,这样吗?追答是的
记得采纳哟!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯