• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C语言中枚举类型的内存是怎么分配的

luohaiyang 2018-09-26 浏览量:2275

C语言中枚举类型的内存是怎么分配的,枚举类型占用4个字节,他的元素也占用4个字节,那么他的元素所表示的数值是怎么确定的

比如

enum{
a,b
}输出的a=0,b=1.那么如果都是四个字节的话a和b的内存空间是公用的。

1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 枚举变量占用内存,int 类型,一般是4字节,

    枚举里面的元素预处理完就没有了,不存在代码中,不占用内存

    • 发布于 2018-09-27
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:12
  • 这个和宏定义一样,编译时替换到代码处
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 2
    • 0

  • 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。可以人为设定枚举成员的值,从而自定义某个范围内的整数。
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 2
    • 0

  • 连续分配,还是要理解为int 数组,才好理解。
    • 发布于2018-09-27
    • 举报
    • 评论 0
    • 1
    • 0

  • 枚举变量的值在编译的时候已经被确定的,不占用内存,这个值也不可改变

    枚举变量的值是递增的

    • 发布于2018-10-05
    • 举报
    • 评论 0
    • 1
    • 0

  • 枚举也是和变量一样的,使用的还是int型,占用4个字节
    • 发布于2018-10-16
    • 举报
    • 评论 0
    • 1
    • 0

  • 用的时候占用内存,用完释放,和调用函数一样
    • 发布于2018-10-17
    • 举报
    • 评论 0
    • 1
    • 0

  • 一遍就是对你的数组一样处理,也是一个int类型
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 1
    • 0

  • 和指针一样,通通占4个字节。
    定义一个枚举体:例如
    enum weekday
    {
    sun,mon,tue,wed,thu,fri,sat
    };

    Mon、Tues、Wed 这些名字都被替换成了对应的数字。这意味着,Mon、Tues、Wed 等都不是变量,

    它们不占用数据区(常量区、全局数据区、栈区和堆区)的内存,而是直接被编译到命令里面,

    放到代码区,所以不能用&取得它们的地址。这就是枚举的本质。

    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 枚举其实就是一个全为int型的数组,占用一段连续的内存,里面每个数据都只能为uint正整型。

    • 发布于2018-09-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 枚举类型可以理解为一个uint类型的数组,启动每一各成员默认在前一个成员的数值基础上加一。
    • 发布于2018-10-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 每个都是占用一个int的大小的,也就是4个字节的
    • 发布于2018-09-26
    • 举报
    • 评论 0
    • -2
    • 0

相关问题

问题达人换一批

C语言中枚举类型的内存是怎么分配的