黑马程序员技术交流社区

标题: C语言枚举 [打印本页]

作者: chenhuan_ccit    时间: 2014-11-2 19:55
标题: C语言枚举
C语言中,除了int,char,指针这些基本类型,还有枚举(enum)这种基本数据类型。当一个变量只可能有几种固定的取值时,可以先定义一个包含这些取值的枚举类型,然后再定义枚举类型变量。
速度,一般会将一些频繁使用的自动变量定义为寄存器变量,这样程序尽可能地为它分配寄存器存放,而不用内存。
1.  枚举的使用
    (1) 定义枚举类型:enum 枚举名 {枚举元素1,枚举元素2,……}; 比如
  1. enum Week {
  2. Sunday,
  3. Monday,
  4. Saturday,
  5. Wednesday,
  6. Thursday,
  7. Friday,
  8. Saturday
  9. };
复制代码


(2) 定义枚举类型变量有三种方式:(1)先定义枚举类型,再定义枚举变量;(2)定义枚举类型的同时定义枚举变量;(3)省略枚举名称,直接定义枚举变量。
  1. //第一种
  2. enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday};
  3. eunm Week w;

  4. //第二种
  5. eunm Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;

  6. //第三种
  7. eunm {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;
复制代码


2.  使用注意
枚举元素(Sunday,Monday等)是作为整型常量处理,称为枚举常量。枚举元素的值取决于定义时各枚举元素排列的先后顺序。默认情况下,第一个枚举元素的值为0,第二个为1,依次顺序加1。也可以在定义枚举类型时改变枚举元素的值
  1. //Sunday的值为0,Monday的值为1,依次类推
  2. enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday};


  3. //Sunday的值为0,Monday的值为1,Saturday的值为5,Wednesday的值为6,依次类推
  4. enum Week {Sunday,Monday,Saturday=5,Wednesday,Thursday,Friday,Saturday};
复制代码


3 . 基本操作
枚举类型变量可以用枚举元素或者整型常量赋值,也可以遍历枚举元素
  1. //Sunday的值为0,Monday的值为1,依次类推
  2. enum Week {Sunday,Monday,Saturday,Wednesday,Thursday,Friday,Saturday} w;

  3. w = Monday;  //用枚举元素赋值,s的取值为1
  4. w = 0;  //用整型常量赋值,s为Sunday

  5. //遍历
  6. for(w = Sunday; s <= Saturday; s++)
  7. {
  8.      printf("s的取值:%d\n",s);
  9. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2