枚举类型和数组的区别?

RT老师说枚举是--为不可分的整数值提供便于记忆的符号.什么意思呢?... RT
老师说 枚举是--为不可分的整数值提供便于记忆的符号.什么意思呢?
展开
 我来答
鲜双乐冬莲
2020-03-08 · TA获得超过3866个赞
知道大有可为答主
回答量:3167
采纳率:26%
帮助的人:173万
展开全部
枚举和另外两个是没多大关系的,枚举的使用,目的在于使程序更加好理解。
enum
exp{
action_1
=
1,
action_2
=
2,
action_3
=
3,
...
}
这么写,只是为了让程序更加易懂,你直接在code里写1,2,3,也完全没错,计算机是无所谓的,但是看的人要蛋疼无比了。人家看到action_1,就知道这里是要这样做,其实对于计算机,那里就是1.
至于指针和数组,关系就很大了。
但是指针比数组更灵活,因为它是一个变量。数组其实也是指针,但是是一个常量指针。
比如,int
*p
arr[5];
p
=
null;
p=
0x00012345;
p
=
arr;
对于p你可以这么操作。
但是arr,你只能
arr[0],arr[1],即用里面的值,但是你不能arr
=
p,这是错的,因为数组名是一个常量指针。
ccchu0
推荐于2017-09-14 · TA获得超过800个赞
知道小有建树答主
回答量:635
采纳率:0%
帮助的人:483万
展开全部
举个例子吧,比如说
enum color{black,white,red,blue,green};

1.计算机在处理的时候,实际上black=0,white=1,red=2,blue=3,green=4;
这些类似于#define black 0
只是用black代表了0而已。

2.为什么说不可分呢,一般情况下3=1+2,但是blue不等于white+red;所以这些代表用的符号虽然实际上是整数,但是不能像一般整数那样拆分。

3.继续:
color color1;
color1=white;
上面定义的color是一个类型名(像int、float那样是类型名),可以定义变量,color1是这种类型的一个变量,它等于white,实际上计算机处理的时候它就等于1,这是由enum color的定义决定的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fposkln
2009-03-07 · TA获得超过412个赞
知道小有建树答主
回答量:227
采纳率:0%
帮助的人:0
展开全部
区别大了
枚举中相当于一组常量的定义,而枚举类型的变量只能在这些值中取一个,一般来说枚举类型的值是整形,但是如果要赋给一个整形变量最好经过强制转换
数组定义的是一组相同类型的变量集合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式