C语言枚举

来源:互联网 发布:淘宝好评如何删除评价 编辑:程序博客网 时间:2024/05/17 03:55
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的取值为1w = 0;  //用整型常量赋值,s为Sunday//遍历for(w = Sunday; s <= Saturday; s++){     printf("s的取值:%d\n",s);}



0 0