C语言:枚举类型

1. 枚举类型的定义

enum[枚举名]{

枚举元素列表

};

cpp 复制代码
enum Weekday{
    mon,tue,wed,thu,fri,sat.sun
};

枚举常量的值,可以用编译器或者是用户指定。若用户不指定第一个元素的值,则编译器分配给它的值就是0。其他未指定值的元素,编译器分配给它的值是前一个元素的值加1。

例如:enum Weekday{mon,tue,wed,thu,fri,sat,sun};

则7个元素的值分别是0、1、2、3、4、5、6。

例如:enum Weekday{mon=1,tue,wed,thu,fri,sat,sun};

则7个元素的值分别是1、2、3、4、5、6、7。

例如:enum Weekday{mon,tue,wed=7,thu,fri,sat,sun};

则7个元素的值分别是:0、1、7、8、9、10、11。

2. 枚举变量的定义

(1)先定义枚举类型,再定义枚举变量(数组)

cpp 复制代码
enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
enum Weekday day1,day2,day[10];    //定义两个枚举变量和一个枚举数组

(2)定义枚举类型的同时定义变量(数组)

cpp 复制代码
enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;

(3)省略方法(2)中的枚举名

cpp 复制代码
enum={sun=7,mon=1,tue,wed,thu,fri,sat}day1,day2;

3. 枚举变量的使用

(1)可以把枚举常量赋值给枚举变量

cpp 复制代码
day1=mon;

(2)也可以把整数赋值给枚举变量,但一般要进行类型转换

cpp 复制代码
day1=(enum Weekday)1;
相关推荐
xmlhcxr10 小时前
Redis
java·数据库·redis
魑魅魍魉都是鬼10 小时前
java 的排序算法
java·算法·排序算法
gechunlian8810 小时前
SpringCloud系列教程:微服务的未来(十四)网关登录校验、自定义过滤器GlobalFilter、GatawayFilter
java·spring cloud·微服务
2401_8535765010 小时前
并行算法在STL中的应用
开发语言·c++·算法
晓纪同学10 小时前
ROS2 -06-动作
java·数据库·python·算法·机器人·ros·ros2
枫叶丹410 小时前
【HarmonyOS 6.0】Media Kit:细粒度控制屏幕捕获,详解图像填充模式C API
c语言·开发语言·华为·harmonyos
无限进步_10 小时前
【C++】字符串中的字母反转算法详解
开发语言·c++·ide·git·算法·github·visual studio
重庆兔巴哥10 小时前
如何在Windows上配置Java环境变量?
java·开发语言·windows
2401_8914821710 小时前
C++中的状态模式实战
开发语言·c++·算法
小江的记录本10 小时前
【PageHelper】 【Spring Boot + MyBatis + PageHelper】 完整项目示例+PageHelper核心原理深度解析
java·前端·spring boot·后端·sql·spring·mybatis