【熟视C语言】自定义类型之枚举详解

写在前面

本篇文章为自定义类型系列讲解的第二篇,而本篇文章讲解的时自定义类型的第二部分内容——枚举。本篇文章将对枚举内容详解,希望对你的枚举学习有所帮助。

枚举

枚举,也就是列举。现实生活中有很多这种可以列举出来的事物,比如星期一星期二这样的有限的天数,性别的种类,月份等等。

枚举类型的定义

以下几个为枚举类型的定义演示:

enum day//星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};

enum gender//性别
{
	male,
	female,
	unknown
};

上面的enum dayenum gender就是枚举类型,而括号内的内容就是枚举类型的可能取值,也叫枚举常量。这些枚举常量都是有值的,默认是从0开始,后面每一个常量值递增1。当然也可以手动取值,对于取值后的枚举常量,其后面的值也会根据此常量值相应改变,例如:

enum color
{
	RED = 2,
	BLUE = 4,
	GREEN = 8
};

enum Example
{
	Example1,//0
	Example2 = 4,//4后面的值依次递增
	Example3,//5
	Example4,//6
	Example5,//7
};

枚举的优点

对于以上定义,用#define同样可以完成,但为什么要使用枚举呢?

枚举的优点:

  1. 增加代码可读性和可维护性。
  2. #define定义的标识符相比,枚举有类型检查,更严谨。
  3. 防止命名污染(封装)。
  4. 便于调试。
  5. 使用方便,一次可以定义多个常量。

枚举的使用

enum Example
{
	Example1,//0
	Example2 = 4,//4
	Example3,//5
	Example4,//6
	Example5,//7
};

int main()
{
	enum Example a = Example1;//只能拿枚举常量给枚举变量赋值,避免出现类型差异
	a = 4;//虽然在我使用上的vs编译器上能编译成功,但是这是一个危险且非法的赋值

	return 0;
}

结语

自定义类型第二部分到这里就结束了,非常感谢各位读者能读完这篇文章,如果你觉得做的还不错的话,可以点赞收藏分享,让更多的朋友知道。当然,如果你觉得文章有什么问题的话也欢迎在评论区留言或私信告诉我哦!下期再会!

彩蛋

在下方的两个仓库可以获取我这篇文章的源码哦。
gitee:路径:Custom type\enum
GitHub:路径:Custom type\enum

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值