标签:
枚举类型
概念:
如果一个变量只有几种可能的值,那么,可以把它定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量的值只限于列举出来的范围内。枚举类型的定义是以enum关键字开头,然后是枚举数据类型的名称,而后是一系列值,它们定义了可以给该类型指派的所有允许的值。
定义:
一般形式为:enum 枚举名 {枚举元素1,枚举元素2…};
例:enum ILikeIdols { T-ara,CNBlue,ZE:A};
枚举变量的定义:
1. 先定义枚举类型,在定义枚举变量
enum ILikeIdols { T-ara,CNBlue,ZE:A};
enum ILikeIdols idol;
2. 定义枚举类型的同时定义枚举变量
enum ILikeIdols { T-ara,CNBlue,ZE:A}idol;
3. 省略枚举名称,直接定义枚举变量
enum { T-ara,CNBlue,ZE:A} idol;
注意:
通常会作为整型常量处理;
枚举元素的值取决于定义时的先后顺序,一般第一个为0,依次递增;
也可以在定义的时候进行改变enum idols { T-ara,CNBlue=3,ZE:A};
枚举变量的基本操作:
1. 赋值
可以给枚举变量赋枚举常量或整型值
enum ILikeIdols { T-ara,CNBlue,ZE:A}idol;
idol=T-ara;//等同于idol=0;
idol=3;//等同于idol=ZE:A;
2. 遍历枚举元素
for(idol=T-ara;s<ZE:A,idol++){
printf(“枚举元素:%d\n”,s);
}
用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明:
typedef enum ILikeIdols
{
T-ara,
CNBlue,
ZE:A
} idol;//idol为枚举型ILikeIdols的别名
idol boys,girls;//变量boys和girls的类型为枚举型ILikeIdols,即enum ILikeIdols
也可以:
typedef enum
{
T-ara,
CNBlue,
ZE:A
} idol;//此处的idol为枚举型enumILikeIdols的别名
idol boys,girls;// 变量boys和girls的类型为枚举型ILikeIdols,即enum ILikeIdols
也可以用这种方式:
typedef enum ILikeIdols
{
T-ara,
CNBlue,
ZE:A
};// 变量boys和girls的类型为枚举型ILikeIdols,即enum ILikeIdols
注意:同一个程序中不能定义同名的枚举类型,不同的枚举类型中也不能存在同名的命名常量。
错误示例如下所示:
错误声明一:存在同名的枚举类型
typedef enum?
{?
wednesday,?
thursday,?
friday?
} workday;??
typedef enum WEEK?
{?
saturday,?
sunday = 0,?
monday,?
} workday;
错误声明二:存在同名的枚举成员
typedef enum?
{?
wednesday,?
thursday,?
friday?
} workday_1;?
typedef enum WEEK?
{?
wednesday,?
sunday = 0,?
monday,
} workday_2;
标签:
原文地址:http://blog.csdn.net/elsie_luo/article/details/51360298