c语言如何给枚举变量赋值,枚举类型是否可以赋值? |
您所在的位置:网站首页 › c语言重新定义类型 › c语言如何给枚举变量赋值,枚举类型是否可以赋值? |
枚举类型可以被赋值,但其赋值不同于普通变量,主要为以下两点: 1. 非枚举类型值赋值给枚举类型 >需要借助类型强制转换 >举例: typedef enum { Monday = 1, //将枚举类型的第一个变量置为1, 则后面的依次为2, 3, 4, 5 Tuesday, Wednesday, Thursday, Friday }Weekday; Weekday Working; unsigned char day; day = 2; Working = day; //错误 Working = 2; //错误 Working = (Weekday)day; //正确. 即将Working置为序号为2的常量,也即Working = Tuesday //(注: 此处强制类型转换需要用定义的枚举类型Weekday,而不是枚 //举类型定义的变量Working) Working = (Weekday)2; //正确. 2. 枚举类型值赋值给枚举类型 >举例: typedef enum { Monday = 1, //将枚举类型的第一个变量置为1, 则后面的依次为2, 3, 4, 5 Tuesday, Wednesday, Thursday, Friday }Weekday; Weekday Working; Working = Wednesday; //正确 总结:枚举变量由其中的枚举元素构成,每个枚举元素的值(枚举值)是常量,只能把枚举值赋予枚举变量。同时枚举类型是一种基本数据类型,可以通过类型强制转换将其他类型的变量赋值给枚举类型。 参考链接: 1. enum类型变量的使用和赋值 - CSDN博客 https://blog.csdn.net/maochengtao/article/details/46606853 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |