C语言枚举类型

2018-01-15  创建人:Ruo_Xiao
开发环境:VS2010

1、英文全称:Enumerated。
2、栗子:

typedef enum Sum
{
    ONE = 1L,
    TWO = 2U,
    THREE,
    FOUR = 4,
    FIVE = 0xFF,
    //Six = 6.3  //error C2058: 常量表达式不是整型
}  ESum;

int _tmain(int argc, _TCHAR* argv[])
{
    int i = 2;
    Sum S1;        //C++
    enum Sum S2;   //C或C++
    ESum S3;       //C或C++

    S1 = ONE;
    S2 = THREE;
    //S3 = 3;     //error C2440: “=”: 无法从“int”转换为“ESum”
    //S2 = i;     //error C2440: “=”: 无法从“int”转换为“ESum”

    cout<<"S1 = "<<S1<<endl;
    cout<<"S2 = "<<S2<<endl;

    cin.get();

    return 0;
}

结果如下:
这里写图片描述
由上述代码可知:
(1)枚举类型变量只能赋符号常量,而不能赋常数或者变量。
(2)如果一个符号名没有被赋值,那么他的值就会比前面的符号名大一,若最前面的符号名也没有赋值,则从1开始赋值。
(3)枚举类型里面的符号都是以整型的方式存储的,符号名实际上都是整型值,若赋实数则报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值