typedef , enum , typedef enum
1. typedef
typedef是用来声明新的类型名来代替已有的类型名。
如:typedef int age;
表示age x;
和 int x;
语句相同
2. enum
enum是枚举类型,用来定义一系列宏定义常量区别用,相当于一系列的#define xx xx
,当然它后面的标识符也可当作一个类型标识符。
enum可以让数据更简洁、更易读。
如:
#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7
等价于
enum DAY {
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。
看一个完整示例:
#include <stdio.h>
enum DAY {
MON=1, TUE, WED, THU, FRI, SAT, SUN
}day;
int main()
{
enum DAY a;
a = WED;
printf("%d", a);
// 等价于上述代码
day b;
b = WED;
printf("%d", b);
return 0;
}
3. typedef enum
typedef enum
定义了一个枚举数据类型的别名,这个类型的变量值只能在enum定义的范围之内取值。