枚举(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不是效果一样嘛,对,就程序运行的结果是一样的,但是我们在使用代码的时候用了枚举类型,可以提高代码可读性,并且在维护代码的过程中更加容易。

相关推荐
动词ing2 小时前
【题目练习】算法 组合总和||
算法
wuminyu2 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
longlongzihan2 小时前
链表找环:Floyd 判圈算法(LeetCode 141 & 142 )
c++·算法·leetcode·链表
Sarvartha2 小时前
内部类知识
java·开发语言
专业程序开发源2 小时前
flask家电故障预测系统92491-计算机课程设计/毕业设计
vscode·python·sql·算法·flask·课程设计
Logic1012 小时前
C语言/数据结构欧几里得算法题解:长方形切割最大正方形——贪心划分计数
c语言·数据结构·算法·贪心算法·时间复杂度·空间复杂度·欧几里得算法
yi0113 小时前
LeetCode 643. 子数组最大平均数 I|从暴力枚举到滑动窗口
人工智能·笔记·python·算法·leetcode·滑动窗口
FPGA小徐3 小时前
【一生一芯 / PA】异常响应机制:RISC-V 中 ecall → mtvec → mret 的完整代
开发语言·数据库·c#
北京盛世宏博3 小时前
工业环境监测选型:Modbus TCP以太网温湿度传感器部署、调试、避坑全指南
开发语言·网络·php
沫璃染墨3 小时前
《Linux工程实践篇(二):线程池实战——从线程安全单例到完整源码实现》
linux·开发语言·c++·单例模式·设计模式·系统架构