展开全部
枚举和另外两个是没多大关系的,枚举的使用,目的在于使程序更加好理解。
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,这是错的,因为数组名是一个常量指针。
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,这是错的,因为数组名是一个常量指针。
展开全部
举个例子吧,比如说
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的定义决定的。
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的定义决定的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
区别大了
枚举中相当于一组常量的定义,而枚举类型的变量只能在这些值中取一个,一般来说枚举类型的值是整形,但是如果要赋给一个整形变量最好经过强制转换
数组定义的是一组相同类型的变量集合
枚举中相当于一组常量的定义,而枚举类型的变量只能在这些值中取一个,一般来说枚举类型的值是整形,但是如果要赋给一个整形变量最好经过强制转换
数组定义的是一组相同类型的变量集合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询