今天接触了一个虽然一直听说过但是一直没怎么用的数据类型——枚举类型
枚举是常量的集合
枚举是为了避免宏定义过多而让人看起来复杂,使代码更加简化
枚举类型定义
枚举类型的定义方式与结构体很像
enum MyEnum
{
s, m, t, w, t1, f, s1
};
如果定义时没有给常量初始化,默认第一个常量值为0,后面的常量值以前面的常量值依次递增,在这个例子中,也就是s=0,m=1,t=2,w=3…
枚举变量定义
与结构体一样,我们定义了枚举类型,使用它就要定义这个类型的枚举变量,枚举变量的定义方式也跟结构体很像。
1.先定义类型,后定义变量,如果要定义上面代码中的类型的变量则为:
MyEnum week = s;
2.同时定义
enum MyEnum
{
s, m, t, w, t1, f, s1
}week;
枚举是基本数据类型
枚举是一种数据类型,就像int,char一样,所以当定义了一个枚举变量的时候要用所声明的枚举类型里面的元素进行赋值。如果要用类型以外的值赋值需要进行强制转换
enum MyEnum
{
s, m, t, w, t1, f, s1
};
int main()
{
MyEnum week = s;
week = (MyEnum)8;//强制转换
}
注意事项
同个枚举类型里面不能有名称相同的常量
程序中不能定义同名枚举类型