论枚举类型的存储空间

一、概述

1、定义类型

typedef enum
{
    Monday,
    Tuesday
} DAY;

2、使用

DAY day = Monday;

3、疑问

  在定义和使用枚举类型的时候,我们并不知道枚举变量的存储空间是多大?现在开始做测试。

二、Visual C++ 6.0下测试

#include <stdio.h>

typedef enum
{
    Monday,
    Tuesday
} DAY;

int main()
{
    DAY day = Monday;

    printf("%d
",sizeof(DAY));

    return 0;
}

打印结果:4

三、结论

1、在Visual C++ 6.0编译器默认为枚举变量分配4字节的存储空间

2、在MDK--ARM环境下测试的结果是只为枚举变量分配1字节的存储空间

原文地址:https://www.cnblogs.com/amanlikethis/p/3716838.html