实际问题带你了解C语言枚举

本文介绍了C++中的枚举类型,强调枚举作为常量的使用和其默认的递增特性。枚举允许一次性定义多个有序常量,即使不指定值,元素也会自动从0开始递增。在实际应用中,枚举常量可以在switch语句中使用,证明它们是编译时常量。总结了枚举的初始化和在代码中的优势。
摘要由CSDN通过智能技术生成

一:前言

        枚举有人把他说成枚举“常量”,但常量不应该用#define 定义吗?下面我将简要讲述枚举的用法及好处,和到底是不是常量。

二:枚举用法

        枚举的定义和结构体大致相同,只是枚举类型用 enum 来定义,BB是枚举类型名(可自己取名);

        大括号中是他的元素,元素和元素之间用 ”逗号“分隔

enum BB
{
      MON, TUE, WED, THU, FRI, SAT, SUN
};

        枚举中的每个元素的有他的值,就和#define max 10 一样将max定义成了10

        但枚举可以不用赋值第一个元素默认为0,第二位为1..........,如下图他们分别可以代表1~6

        我们也可以给他赋值,对枚举是可以赋值的。 赋值后之后的元素也随之改变依旧是值依次递增的关系,但之前的的元素值不变。

         可以随意赋值,但始终有递增关系

 

 三:实际使用

        如图枚举第一个元素赋值为1,那第二位TUE根据上面的介绍肯定等于2。给 i 赋值2,switch( i )执行由于 TUE=2 所以输出 星期二

         但是在官网查到说明,switch 语句中的 case 的后面只能跟 常量 ,否则将报错编译也不通过。在上面case后面跟了枚举元素却能正常运行,足以说明枚举元素是常量

        总结:如果不给枚举元素赋值,那枚举会给自己的元素赋初始值从0开始并呈递增关系

        枚举定义出来的是常量,并且一次可定义多个常量,如果需要多个有序常量那枚举比较方便

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值