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 = "<cout<<"S2 = "<cin.get();return 0;
}

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部