一、enum 枚举类型形式
enum enum_name{
ENUM_1
ENUM_2
ENUM_3
......
}ENUM_NAME;
注意:enum_name 是自定义的一种数据数据类型名,而ENUM_NAME 为enum_name类型的的枚举变量。
实际上enum_name类型是对一个变量取值范围的限定,即enum_name 类型的变量ENUM_NAME 只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错或者警告。
枚举常量(常量一般用大写)。
enum_name和ENUM_NAME可以只保留一个。
二、一般用法
第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。
enum sample
{
enum_1,
enum_2,
enum_3,
}SAMPLE;
举类型sample有3个数据,序号为0、1、2。enum sample
{
enum_1 = 2,
enum_2,
enum_3,
}SAMPLE;
举类型sample有3个数据,序号为2、3、4。
enum用来定义一系列宏定义常量区别用,相当于一系列的#define xx xx,当然它后面的标识符也可当作一个类型标识符;typedef enum则是用来定义一个数据类型,那么该类型的变量值只能在enum定义的范围内取。两者在这点上是没有差别的。
typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。