【c语言】自定义类型:枚举类型【详解】

枚举类型

枚举类型的声明

  • 枚举顾名思义就是⼀⼀列举。
  • 把可能的取值⼀⼀列举。
  • ⽐如我们现实⽣活中
    • ⼀周的星期⼀到星期⽇是有限的7天,可以⼀⼀列举
    • 性别有:男、⼥、保密,也可以⼀⼀列举
    • ⽉份有12个⽉,也可以⼀⼀列举
    • 三原⾊,也是可以意义列举
  • 这些数据的表⽰就可以使⽤枚举了。
enum Day//星期
{
	Mon,
	Tues,
	Wed,
	Thur,
	Fri,
	Sat,
	Sun
};

enum Sex//性别
{
	MALE,
	FEMALE,
	SECRET
};

enum Color//颜⾊
{
	RED,
	GREEN,
	BLUE
};
  • 以上定义的 enum Day enum Sex enum Color 都是枚举类型。
    {}中的内容是枚举类型的可能取值,也叫 枚举常量 。
    这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。
    enum Color//颜⾊
    {
    	RED = 2,
    	GREEN = 4,
    	BLUE = 8
    };

枚举类型的优点

为什么使⽤枚举?
我们可以使⽤ #define 定义常量,为什么⾮要使⽤枚举?
枚举的优点:
1. 增加代码的可读性和可维护性
2. 和#define定义的标识符⽐较枚举有类型检查,更加严谨。
3. 便于调试,预处理阶段会删除 #define 定义的符号
4. 使⽤⽅便,⼀次可以定义多个常量
5. 枚举常量是遵循作⽤域规则的,枚举声明在函数内,只能在函数内使⽤

枚举类型的使用

enum Color//颜⾊
{
	RED = 1,
	GREEN = 2,
	BLUE = 4
};

enum Color clr = GREEN;//使⽤枚举常量给枚举变量赋值
  • 那是否可以拿整数给枚举变量赋值呢?在C语⾔中是可以的,但是在C++是不⾏的,C++的类型检查⽐较严格。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值