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)枚举类型里面的符号都是以整型的方式存储的,符号名实际上都是整型值,若赋实数则报错。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
