枚举类型指针(枚举类型和指针的长度!)

本文目录
枚举类型和指针的长度!
指针就是地址,位数与CPU的地址总线位数一样,CPU多少位,地址总线就是多少位,简单说就CPU多少位,指针就多少位。
对于枚举类型,实际它是不占内存的,当编译时,直接用相应的常量内存替换。
struct a
{
int a;
int b;
enum max{aa=100}
};
去掉和不去掉是一样的
枚举、指针和数组有什么区别
枚举和另外两个是没多大关系的,枚举的使用,目的在于使程序更加好理解。
enum exp{
ACTION_1 = 1,
ACTION_2 = 2,
ACTION_3 = 3,
...
}
这么写,只是为了让程序更加易懂,你直接在code里写1,2,3,也完全没错,计算机是无所谓的,但是看的人要蛋疼无比了。人家看到ACTION_1,就知道这里是要这样做,其实对于计算机,那里就是1.
至于指针和数组,关系就很大了。
但是指针比数组更灵活,因为它是一个变量。数组其实也是指针,但是是一个常量指针。
比如,int *p arr;
p = NULL;
P= 0x00012345;
p = arr;
对于p你可以这么操作。
但是arr,你只能
arr,arr,即用里面的值,但是你不能arr = p,这是错的,因为数组名是一个常量指针。
C++的枚举类型变量的列表元素的值不能被改变,类似const但为什么可以透过指针改变
枚举量本来就无法改变啊,你这个代码会编译错误的。
第二行中 int *p=&two 右边就是一个错误的表达式。我在这里讲一下:
two是枚举array中的一个常量,而不是用于识别或定位一个存储位置的标识符,所以 &two 其实就是&2,你总不能取一个常量(注意这里不是指const的那种定义的常量)的地址吧,所以这个代码时错误的。

更多文章:
windows程序设计第五版(《WINDOWS程序设计》和《WINDOWS核心编程》的区别)
2026年10月15日 11:30
issued retroactively(FORM E上盖“ISSUED RETROACTIVELY”的问题,小女在线等待)
2026年10月15日 10:30
begin和start的区别(start与begin的区别)
2026年10月15日 09:20
vant官网中文(范特365 是韩国化妆品VANT36.5吗)
2026年10月15日 09:10
prison break(越狱(prison break)到底是在讲个什么)
2026年10月15日 06:50
c程序设计第五版教学视频(求C程序设计(第五版)谭浩强教材源代码、视频课件等电子版资料!谢谢大家!)
2026年10月15日 06:40




