什么是枚举,怎么用
答案:2 悬赏:0 手机版
解决时间 2021-02-09 00:24
- 提问者网友:贪了杯
- 2021-02-08 07:19
什么是枚举,怎么用
最佳答案
- 五星知识达人网友:狂恋
- 2021-02-08 08:02
枚举通过使用enum,可以创建一个新的类型,并且制定它可以具有的值(实际上是INT型的,虽然大多用字符来枚举,可是这些字符都代表的是INT型的整数常量)主要的使用目的是为了增加程序的可读性。
简单来说,就是我们在选择分支的时候,可以定义一个变量来确定各个分支的顺序,比如0,1,2,3,4,。。但是这样不好读,尤其是编写者之外的人读,很让人费解,这个时候可以,0.1.2,3,4.。。赋予一些实际的含义。典型的例子:
比如我们可以这样用:
enum spectrum {red,orange,yellow,green,blue,violet};
enum spectrum color;
以上定义了color的可能值red,orange等等。
以下是应用:
int c;
color=blue;
if (color == yellow)
....;
这些都是我自己所学到,所理解的
简单来说,就是我们在选择分支的时候,可以定义一个变量来确定各个分支的顺序,比如0,1,2,3,4,。。但是这样不好读,尤其是编写者之外的人读,很让人费解,这个时候可以,0.1.2,3,4.。。赋予一些实际的含义。典型的例子:
比如我们可以这样用:
enum spectrum {red,orange,yellow,green,blue,violet};
enum spectrum color;
以上定义了color的可能值red,orange等等。
以下是应用:
int c;
color=blue;
if (color == yellow)
....;
这些都是我自己所学到,所理解的
全部回答
- 1楼网友:患得患失的劫
- 2021-02-08 08:18
枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…,sat值为6:
void main()
{
enum weekday
{ sun,mon,tue,wed,thu,fri,sat } a,b,c;
a=sun;
b=mon;
c=tue;
printf("%d,%d,%d",a,b,c);
}
说明:
只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:
a=sum;
b=mon;
是正确的。而:
a=0;
b=1;
是错误的。如一定要把数值赋予枚举变量,则必须用强制类型转换。
如:
a=(enum weekday)2;
其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于:
a=tue;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯