枚举、指针和数组有什么区别
展开全部
枚举和另外两个是没多大关系的,枚举的使用,目的在于使程序更加好理解。
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,这是错的,因为数组名是一个常量指针。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询