C语言中,除了int,char,指针这些基本类型,还有枚举(enum)这种基本数据类型。当一个变量只可能有几种固定的取值时,可以先定义一个包含这些取值的枚举类型,然后再定义枚举类型变量。
速度,一般会将一些频繁使用的自动变量定义为寄存器变量,这样程序尽可能地为它分配寄存器存放,而不用内存。
1. 枚举的使用
(1) 定义枚举类型:enum 枚举名 {枚举元素1,枚举元素2,……}; 比如
- enum Week {
- Sunday,
- Monday,
- Saturday,
- Wednesday,
- Thursday,
- Friday,
- Saturday
- };
复制代码
(2) 定义枚举类型变量有三种方式:(1)先定义枚举类型,再定义枚举变量;(2)定义枚举类型的同时定义枚举变量;(3)省略枚举名称,直接定义枚举变量。
- //第一种
- enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday};
- eunm Week w;
- //第二种
- eunm Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;
- //第三种
- eunm {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;
复制代码
2. 使用注意
枚举元素(Sunday,Monday等)是作为整型常量处理,称为枚举常量。枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。也可以在定义枚举类型时改变枚举元素的值
- //Sunday的值为0,Monday的值为1,依次类推
- enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday};
- //Sunday的值为0,Monday的值为1,Saturday的值为5,Wednesday的值为6,依次类推
- enum Week {Sunday,Monday,Saturday=5,Wednesday,Thursday,Friday,Saturday};
复制代码
3 . 基本操作
枚举类型变量可以用枚举元素或者整型常量赋值,也可以遍历枚举元素
- //Sunday的值为0,Monday的值为1,依次类推
- enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;
- w = Monday; //用枚举元素赋值,s的取值为1
- w = 0; //用整型常量赋值,s为Sunday
- //遍历
- for(w = Sunday; s <= Saturday; s++)
- {
- printf("s的取值:%d\n",s);
- }
复制代码 |
|