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;
相关推荐
云烟成雨TD17 小时前
Spring AI Alibaba 1.x 系列【4】ReAct 范式与 ReactAgent 核心设计
java·人工智能·spring
Knight_AL17 小时前
Nacos 启动问题 Failed to create database ’D:\nacos\nacos\data\derby-data’
开发语言·数据库·python
「QT(C++)开发工程师」17 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
乐分启航17 小时前
SliMamba:十余K参数量刷新SOTA!高光谱分类的“降维打击“来了
java·人工智能·深度学习·算法·机器学习·分类·数据挖掘
leiming618 小时前
CAN 通信协议学习讲义(带图文 + C 语言代码)
c语言·开发语言·学习
xht083218 小时前
PHP vs C语言:核心差异全解析
c语言·开发语言·php
yoothey18 小时前
Java字节流与字符流核心笔记(问答+考点复盘)
java·开发语言·笔记
查古穆19 小时前
python进阶-Pydantic模型
开发语言·python
沐知全栈开发19 小时前
Bootstrap4 导航栏
开发语言
kyriewen1119 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5