枚举
枚举是基本数据类型的一种
枚举类型
/*下面的语句为枚举类型的宏声明,并不分配内存空间*/
enum name{
a,//a只存在编译器中,是int型常量?或许在只读段?
b,
c
};
枚举成员
- 枚举成员只存在编译器中,并不分配内存?
- 枚举成员为int型常量
- 只能在枚举类型声明(?定义)的时候初始化
- 为什么声明的时候分配了空间?难道说就只有枚举不一样?
- 如果不初始化,第一个成员初始化为0,后面的依次加1
- 某个成员变量初始化,后面的依次加1
枚举类型变量
- 变量可以被赋值为成员?
- 变量就是要赋值为成员,表示变量只能从成员中取值,这正是枚举类型的作用
- 变量可以被赋值为整型常量,为什么?
- 赋值为枚举成员以外的常量是无意义的,如果该常量有必要存在,那么可以将该常量写为枚举成员
- 如果说变量可以赋值为枚举成员以外的常量,表明编译器没有做语法检查.有些编译器是不允许的
枚举类型变量的使用
- 被赋值为枚举成员
枚举成员存在的原因
- 可以快速定义一些常量,且部分可以不用初始化(使用默认初始化)
- 除此之外,可以用typedef和define
- 给变量提供一个取值范围