数据类型有很多:短整型short,整型int,长整型long,单精度float,双精度double。以上数据类型属于基本数据类型,还有构造类型:比如结构体struct,共用体union,以及枚举型enum。
枚举类型在使用时需有三个重要步骤:
1.枚举类型的定义
2.用构造的枚举类型声明变量
3.对变量进行赋值
基于以上三个步骤因此需要从这三个方面分别学习枚举有关知识
1.枚举类型的定义
enum week
{
mon,tue,wed,thu,fri,sat,sun
};
定义时week是一个标示符可忽略也可不忽略;枚举成员用逗号隔开;并且默认第一个枚举成员的值为0,后边的枚举成员依次加1;也可自行设定枚举成员的值;枚举定义以分号结束。
2.用构造的枚举类型声明变量
构造好枚举类型后,需像基本数据类型一样,来声明变量,这里利用枚举类型声明变量有三个方法
第一个方法是在定义枚举类型之后,单独声明变量
enum week
{
mon,tue,wed,thu,fri,sat,sun
};
enum week firstday;
enum week secondday;
enum week thirdday,forthday;
第二个方法是在定义枚举类型时就声明变量
enum week
{
mon,tue,wed,thu,fri,sat,sun
}weekday;
这种方法,就是定义了一个枚举类型enum week的同时定义了一个该类型的变量weekday。
第三种方法用typedef关键字来定义枚举类型,之后可以在定义枚举类型同时定义变量也可以在定义之后在定义变量,与第一种和第二种方法无异
typedef enum week
{
mon,tue,wed,thr,fri,sat,sun
}weekday;
以上是关于定义枚举类型,以及声明变量的基本知识,其实和其他的构造类型大同小异,因此学习了一个之后要总结相似构造类型之间的相似之处以及不同之处。
值得注意的是:在同一个程序中不能定义同名的枚举类型,不同的枚举类型中不能存在同名的命名常量,这就好比一个教室有两个同名的人,老师让他去打扫教室,单叫名字并不能区分出到底叫的是谁,计算机也是一样的,又好比一个学校不同班级有两个同学叫一样的名字,在全校通报批评的时候,单叫名字也不能区分出是哪个班级的人做错了,因此避免重名。