枚举(C语言)

在C语言中,枚举是用户定义的数据类型,允许用户定义一组被命名的常量,这里枚举类型成员默认是从0开始,之后顺位延后的枚举类型为1,2,3,4一直到最后一个枚举成员。

在这个过程中,如果某个枚举成员被赋予特定值的话,后面的成员会从前一个成员的值开始递增,例如:在我们之前通讯录中使用了枚举成员来替换数字0~7。

cpp 复制代码
enum Option
{
	EXIT,
	ADD,
	DEL,
	SEARCH,
	MODIFY,
	SHOW,
	SORT
};

在之前咋们通讯录里,这个分别代表0~7的数字,被我们替换成了字符的形式。这个就是枚举类型的定义。

cpp 复制代码
switch (input)
		{
		case ADD:
			AddConcate(&con);
			break;
		case DEL:
			DelConcate(&con);
			break;
		case SEARCH:
			SearchConcate(&con);
			break;
		case MODIFY:
			MudifyConcate(&con);
			break;
		case SHOW:
			ShowConcate(&con);
			break;
		case SORT:
			SortConcate(&con);
			break;
		case EXIT:
			//保存通讯录到文件中
			SaveConcate(&con);
			DestroyConcate(&con);
			printf("退出系统\n");
			break;
		default:
			printf("输入错误,请重新输入\n");
			break;
        }

那么我们在之前的通讯录中如何使用枚举类型成员呢,在我们使用switch语句的时候,case之后就可以将我们的枚举成员变量名写上去啦,case ADD代表了以下代码或函数实现的是增加联系人的功能。

我们在控制台运行代码的过程中,我们只输入1,就可以运行add的代码了,但是你可能会有疑问,为什么嘞?使用1和add不是效果一样嘛,对,就程序运行的结果是一样的,但是我们在使用代码的时候用了枚举类型,可以提高代码可读性,并且在维护代码的过程中更加容易。

相关推荐
地平线开发者14 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮15 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者15 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考15 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx19 小时前
CART决策树基本原理
算法·机器学习
Wect19 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱20 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
Gorway1 天前
解析残差网络 (ResNet)
算法
拖拉斯旋风1 天前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect1 天前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript