码迷,mamicode.com
首页 > 其他好文 > 详细

枚举类型

时间:2016-05-10 12:58:00      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

枚举类型

概念:

如果一个变量只有几种可能的值,那么,可以把它定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量的值只限于列举出来的范围内。枚举类型的定义是以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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!