C语言

C语言 第9节枚举

2019-07-09  本文已影响0人  小超_8b2f

一、什么是枚举
把一个事物所有的取值一一列举出来
二、如何定义枚举

#include <stdio.h>

# 调用时只能使用其中的某一个,不能使用其存储的int类型数值。因为如果
# 默认是从0开始,若第一个是数字,就从第一个数字开始往后累计增长
enum Number {
  ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX
};

void show(enum Number i) {
  switch(i) {
    case 0:
      printf("这是ONE\n");
      break;
    case 2:
      printf("这是TWO\n");
      break;
    case 3:
      printf("这是THREE\n");
      break;
    case 4:
      printf("这是Four\n");
      break;
  }

}

int main(void) {
#虽然保存的形式是数字,但是不能赋值1,那样的话就与int num = 1;没啥区别了
#而int num 可以赋值很多数值。不能满足我们的只取这几个其中之一的需求。
   enum Number num = ONE; #不赋值ONE,赋值1,出错

   show(num);
   printf("%d\n", num);  //结果是1
  return 0;
}

自定义值:

enum week{ Mon = 1, Tues = 2, Wed = 3, Thurs = 4, Fri = 5, Sat = 6, Sun = 7 };

精简版:只定义第一个,其它自动自增

enum week{ Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun };

C语言枚举类型(Enum)

上一篇 下一篇

猜你喜欢

热点阅读