您的位置:首页 > 编程语言 > C语言/C++

C语言enum枚举类型

2015-03-18 15:14 477 查看
1.枚举类型的定义

枚举是在定义范围内选取数值的变量

例如:enum itemsChoice{disAllInfo=1,sortedInfo,addStuInfo,deleteStuInfo,disUpStu,changePw,quitSys};

也可以

enum itemsChoice

{

disAllInfo=1,

sortedInfo,

addStuInfo,

deleteStuInfo,

disUpStu,

changePw,

quitSys

};

注意:

(1)enum是枚举变量的关键字

(2)枚举中的元素是整数,元素之间用逗号连接

(3)第一个枚举成员的默认值为0(此处从开始)后面的成员依次增加

(4)枚举可以替换#define宏替换

2.枚举变量的声明

(1)直接使用

enum itemsChoice{disAllInfo=1,sortedInfo,addStuInfo,deleteStuInfo,disUpStu,changePw,quitSys} index;

index=disAllInfo;

(2)先定义后使用

enum itemsChoice{disAllInfo=1,sortedInfo,addStuInfo,deleteStuInfo,disUpStu,changePw,quitSys} ;

enum index;

(3)用typedef为枚举类型定义别名使用

typedef enum itemsChoice

{

disAllInfo=1,

sortedInfo,

addStuInfo,

deleteStuInfo,

disUpStu,

changePw,

quitSys

}itemsChoice;

itemsChoice
index;

或者

typedef enum

{

disAllInfo=1,

sortedInfo,

addStuInfo,

deleteStuInfo,

disUpStu,

changePw,

quitSys

}itemsChoice;

itemsChoice index;

或者

typedef enum itemsChoice

{

disAllInfo=1,

sortedInfo,

addStuInfo,

deleteStuInfo,

disUpStu,

changePw,

quitSys

};

itemsChoice index;

声明过程中不能存在枚举类型或枚举变量一样的情况。

3.枚举变量的使用

(1)

1)先定义后使用

#include <stdio.h>

enum WEEKDAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };

void main()

{

enum WEEKDAY yesterday, today, tomorrow;

yesterday = MON;

today = TUE;

tomorrow = WED;

printf("%d %d %d \n", yesterday, today, tomorrow);

}

2)直接使用

#include <stdio.h>

enum WEEKDAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };

void main()

{

enum WEEKDAY yesterday=MON, today = TUE, tomorrow = WED;

printf("%d %d %d \n", yesterday, today, tomorrow);

}

(2)对枚举型的变量赋整数值时,需要进行类型转换

enum itemsChoice{disAllInfo=1,sortedInfo,addStuInfo,deleteStuInfo,disUpStu,changePw,quitSys} index;

int t;

puts("please input a number in <1-7>:");

scanf("%d",&t);

while(getchar()!='\n');

index=(enum itemsChoice)t;

switch(index)

{

case disAllInfo:

break;

case sortedInfo:

break;

case addStuInfo:

break;

case deleteStuInfo:

break;

case disUpStu:

break;

case changePw:

break;

case quitSys:

break;

default:

fputs("input error!please input <1-7>to select items:",stderr);

ERR_WARNING();

showItems();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: