个人理解—枚举类型

        枚举类型,很常用也很常见的一种数据类型,但枚举类型的本质是什么?答案是—常量。

enum return_value
{
    ERROR,
    RIGHT,
};

enum return_value func1(void)
{
    enum return_value r1;
    r1=RIGHT;
    return r1;
}

int main()
{
    enum return_value r=func1();
    printf("my return value=%d",r);值为1
}

        上面的枚举类型数据是默认值,但是枚举类型也能够进行赋值,且赋值具有一定规律。

enum return_value
{
    ERROR,
    RIGHT=23,
};

enum return_value func1(void)
{
    enum return_value r1;
    r1=ERROR;
    return r1;
}

int main()
{
    enum return_value r=func1();
    printf("my return value=%d",r);值为0
}

        给RIGHT赋值而不给ERROR赋值,ERROR值为0,但是:

enum return_value
{
    ERROR=23,
    RIGHT,
};

enum return_value func1(void)
{
    enum return_value r1;
    r1=RIGHT;
    return r1;
}

int main()
{
    enum return_value r=func1();
    printf("my return value=%d",r);值为24
}

        给ERROR赋值而不给RIGHT赋值则RIGHT的值会在ERROR的基础上+1。

        枚举类型的本质就是用字母去代替数字,用字母去实现更直观的表现—字母符号化。

        宏定义也是不用数字而是用字符,宏定义与枚举类型的区别:

#define ERROR 0
#define RIGHT 1

        ①:枚举封装了多个相关常量,宏定义之间彼此无关,枚举类型的实际为多选一。

        ②:枚举是有限集,彼此相关。

        ③:枚举是全局变量,不同枚举不能定义相同符号。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值