c语言,枚举

一.枚举的定义:

枚举顾名思义就是列举,将所有可能性都一一列举出来,比如一周有几天,那枚举的结果就是将周一,周二,周三,周四,周五,周六,周日都一一写一遍。

二.枚举的声明

enum day
{
MON,//注意使用,不是;
TUES,
WED,
THUR,
FRI,
SAT,
SUN,
};

枚举需要注意的就是枚举成员尽可能大写

enum day
{
MON, 
TUES,
WED,
THUR,
FRI,
SAT,
SUN,
};
int main()
{
	enum day d=MON;
	printf("%d",d);
	return 0;
}
//输出结果为0

如果输出TUES结果则为1,WED结果则为2,WHUR结果则为3,一次类推,enum中的枚举成员都有自己的"枚举常量“,这些枚举常量都是从0开始,每个元素间递增1,当然这些枚举常量也是可以被改变的

enum day
{
MON=1,
TUES,
};
int main()
{
	enum day d=MON;
	printf("%d",d);
	return 0;
}
//这个时候输出值就为1,TUES就为2(依然递增1)

如果将MON赋值1,TUES赋值3也可以

三.枚举的优点

之前也学习过自定义函数#define,同样可以定义常量,为什么选择enum?这就可以好好谈谈enum的优点了

  1. 得益于enum是将元素一一列举出来的特性便增强了程序的可读性以及可维护性
  2. 和#define定义的标识符⽐较枚举有类型检查,更加严谨。#define仅仅起到了一个替换的作用
  3. 枚举更方便,#define一次只能定义一个元素,但枚举可以一次定义好几个元素
  4. 枚举常量是遵循作⽤域规则的,枚举声明在函数内,只能在函数内使⽤

四.枚举的应用

说了枚举的优点,那枚举还可以如何应用

enum Color
{
 RED=2,
 GREEN=4,
 BLUE=8
};
int main()
{
enum Color c=RED;//这里不要加双引号
printf("%d",c);
return 0;
}
//输出结果为2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值