C语言中枚举类型的内存是怎么分配的,枚举类型占用4个字节,他的元素也占用4个字节,那么他的元素所表示的数值是怎么确定的
比如
enum{ a,b }输出的a=0,b=1.那么如果都是四个字节的话a和b的内存空间是公用的。
枚举变量占用内存,int 类型,一般是4字节,
枚举里面的元素预处理完就没有了,不存在代码中,不占用内存
枚举变量的值在编译的时候已经被确定的,不占用内存,这个值也不可改变
枚举变量的值是递增的
Mon、Tues、Wed 这些名字都被替换成了对应的数字。这意味着,Mon、Tues、Wed 等都不是变量,
它们不占用数据区(常量区、全局数据区、栈区和堆区)的内存,而是直接被编译到命令里面,
放到代码区,所以不能用&取得它们的地址。这就是枚举的本质。