枚举类型enum

枚举类型是一个可以用户自定义的类型,语法为:

enum colors{red,yellow,blue};

enum colors car=red;

上面代码的意义是,定义了一个枚举类型enum colors,该类型的变量只能在其后面{}中的内容(被称为名字)中取值,即enum colors类型变量car只能等于red,yellow,blue三个值。然而car在计算机内部并非以“red”字符串存在,而是以一个整型常量存在。默认情况下{}中第一个名字为0,往后依次递加1。同时,名字也可以作为常量直接输出或使用。调试程序:

#include<stdio.h>

void main(void)
{
    enum colors{red,yellow,blue,black};
    enum colors car1 = red;
    enum colors car2 = yellow;
    enum colors car3 = blue;
    printf("car1的颜色是:%d\n",car1);
    printf("car2的颜色是:%d\n",car2);
    printf("car3的颜色是:%d\n",car3);
    printf("car4的颜色是:%d\n",black);
}

运行结果:

car1的颜色是:0
car2的颜色是:1
car3的颜色是:2
car4的颜色是:3

在{}中所有的名字后加入countnum项,在默认数值(第一个为0,往后累加)的情况下,countnum的值为{}可用名字的数量:

#include<stdio.h>

void main(void)
{
    enum colors{red,yellow,blue,black,countnum};
    printf("一共有%d种颜色\n",countnum);
}

代码运行结果如下:

一共有4种颜色

当然,{}中的名字除了可以采用默认值外,还可以手动赋值。其中,缺省项由前项递增1得到。调试程序如下:

#include<stdio.h>

void main(void)
{
    enum colors{red=5,yellow,blue,black=1,countnum};
    printf("red代表%d\n",red);
    printf("yellow代表%d\n",yellow);
    printf("blue代表%d\n",blue);
    printf("black代表%d\n",black);
    printf("countnum代表%d\n",countnum);
}

代码运行结果为:

red代表5
yellow代表6
blue代表7
black代表1
countnum代表2

枚举类型在实际使用中通常起到用容易理解的单词代替意义不明显的数值,使得代码的可阅读性更好。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值