A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenhuan_ccit 中级黑马   /  2014-11-2 19:55  /  933 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马