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

相关推荐
天空'之城5 分钟前
C 语言工业级通用组件手写 27:配置参数管理组件
c语言·eeprom·参数管理·工业级组件·掉电存储
YSL07012416 分钟前
指针习题讲解
c语言
艾莉丝努力练剑17 分钟前
【Qt:问题解决】Qt程序入口点错误修复:MinGW ABI兼容问题
java·服务器·开发语言·qt·文件系统·动静态库
江畔柳前堤8 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
wuyk5558 小时前
第2章:六步换相原理全解+STM32工程实战
c语言·开发语言·stm32·单片机·嵌入式硬件
hey_sml9 小时前
JAVA每日一学---CompletableFuture中thenApply与thenCompose区别详解
java·开发语言
Forever Nore10 小时前
LeetCode 4 寻找两个正序数组的中位数 - 二分
算法·leetcode
萧瑟余晖10 小时前
Java深入解析篇十七之SpringCloud
java·开发语言
ttod_qzstudio11 小时前
Java 常用语法极简通关(五):类与对象——字段、方法、构造器、this 与 static
java·开发语言·python
罗西的思考11 小时前
【OpenClaw具身硬件】MiniClaw 阅读笔记---(1)基础
人工智能·算法·机器学习