由浅到深认识C语言(14):枚举

该文章Github地址:https://github.com/AntonyCheng/c-notes

在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn.net/AntonyCheng/article/details/136555245),该模板集成了最常见的开发组件,同时基于修改配置文件实现组件的装载,除了这些,模板中还有非常丰富的整合示例,同时单体架构也非常适合SpringBoot框架入门,如果觉得有意义或者有帮助,欢迎Star & Issues & PR!

上一章:由浅到深认识C语言(13):共用体

14.枚举

14.1.枚举定义

**定义:**将变量的值一一列举出来,变量的值只限于列举出来的值的范围内;

枚举类型定义:

c 复制代码
enum 枚举名{
	枚举值表
};

在枚举值表中应列出所有可用值,也成为枚举元素,枚举变量仅能取枚举值所列元素;

示例如下:

需求:定义一个扑克牌的花色;

c 复制代码
#include<stdio.h>

enum POKER {
	HONGTAO,HEITAO,MEIHUA,FANGKUAI
};

int main(int argc, char* argv[]) {
	enum POKER poker_color1 = HONGTAO;
	enum POKER poker_color2 = HEITAO;
	enum POKER poker_color3 = MEIHUA;
	enum POKER poker_color4 = FANGKUAI;
	printf("%d,%d,%d,%d\n", poker_color1,poker_color2,poker_color3,poker_color4);
	return 0;
}

打印效果如下:

14.2.枚举中的索引值

枚举首位默认是 0 ,以后的值累加一,但是一个枚举中所有的值都可以改变,包括枚举首位,所以需要注意一下枚举中的索引问题,下面举例几个代表性的枚举以及其索引值;

示例一:

c 复制代码
enum ENUM{
	A,B,C,D,E
};
//索引值为:0、1、2、3、4

示例二:

c 复制代码
enum ENUM{
	A=5,B,C,D=10,E
};
//索引值为:5、6、7、10、11

示例三:

c 复制代码
enum ENUM{
	A,B=10,C,D=2,E
};
//索引值为:0、10、11、2、3
相关推荐
傍晚冰川13 分钟前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
PingdiGuo_guo16 分钟前
C++智能指针的知识!
开发语言·c++
黄雪超16 分钟前
JVM——打开JVM后门的钥匙:反射机制
java·开发语言·jvm
我命由我1234531 分钟前
Spring Boot 项目集成 Redis 问题:RedisTemplate 多余空格问题
java·开发语言·spring boot·redis·后端·java-ee·intellij-idea
Rocky40141 分钟前
JAVAEE->多线程:锁策略
java·开发语言·jvm
JSUITDLWXL1 小时前
ideal2022.3.1版本编译项目报java: OutOfMemoryError: insufficient memory
java·开发语言
magic 2451 小时前
Java建造者模式(Builder Pattern)详解与实践
java·开发语言·建造者模式
前端小崔1 小时前
前端面试题之ES6保姆级教程
开发语言·前端·javascript·面试·职场和发展·ecmascript·es6
Love__Tay2 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
Lilith的AI学习日记2 小时前
什么是预训练?深入解读大模型AI的“高考集训”
开发语言·人工智能·深度学习·神经网络·机器学习·ai编程