枚举类型:顾名思义就是列举 (相当于int 但是枚举类型有安全检查)
枚举的特点:
1.枚举类型是一个受到限制的有符号整型
2.枚举值(元素)必须是整型值(有符号) //允许:char类型 'A',short类型 //不允许:"abc" 字符串,float,double,指针
3.枚举变量的取值必须在枚举值的集合
//给枚举值赋的值可以重复,但是枚举值不能重复
枚举的优点:
1.增加代码的可读性和可维护性
2.与define不同,枚举类型有类型检查,更安全
3.封装性好
4.便于调试
5.使用方便,一次可以定义多个变量
#include<stdio.h>
enum Week{Mon=1,Tue,Wed,Thu,Fri,Sat,Sun};
//不指定值,枚举类型默认从0开始,往后逐个加1(递增)
//全部给值,枚举值就为给定的值
//可以给一部分 没给的枚举值等于前一个值加1(第1个值默认为0)
int main()
{
enum Week day=Mon;
//enum Week day = 9; //error 超出了枚举的集合
//day++;
//day += 1;
//day *= 2;
//day = Mon + Wed;
//这四个都有溢出枚举的风险,所以都会报错
printf("%d", day);
/*int a = Sun;
printf("%d", a);*/
return 0;
}