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;
相关推荐
学长毕设5 分钟前
基于SpringBoot的野生动物公益保护平台设计与实现-附源码
java·spring boot·后端
FRing0328 分钟前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
旖旎夜光30 分钟前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
SL_staff38 分钟前
离散制造排程破局:JVS-APS 四步闭环落地实践(开发者视角)
java·产品·全栈
这个昵称不容易1 小时前
SpringBoot 美容院管理系统:232个Java文件315个接口,5套角色从预约到发货一整条链路
java·springboot·毕设
starzy19901 小时前
深入理解Scala嵌套函数:作用域封装之道
开发语言·scala
Sakura_j_h_1 小时前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
装不满的克莱因瓶2 小时前
【SpringAI Alibaba】ReactAgent记忆管理MessageTrimmingHook与MessageDeletionHook
java·人工智能·ai·ai编程·springai·springaialibaba
文丑颜不良啊2 小时前
LeetCode2241~2260题目解析
java·leetcode
文丑颜不良啊2 小时前
LeetCode2321~2340题目解析
java·leetcode