C语言--enum,typedef enum 枚举类型详解
时间: 2023-08-06 14:04:33 浏览: 111
在C语言中,枚举类型是一种定义一些符号常量的方便方式。枚举类型使用关键字enum来定义,其语法格式如下:
```
enum 枚举类型名 {
标识符[=整型常数],
标识符[=整型常数],
...
} 枚举变量;
```
其中,枚举类型名是用户自定义的枚举类型名称,标识符是枚举类型中定义的符号常量,整型常数是可选的,用于给符号常量赋予初始值。多个符号常量之间用逗号隔开。
例如,我们可以这样定义一个枚举类型:
```
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
} day;
```
在这个例子中,Weekday是枚举类型名,Monday、Tuesday、Wednesday等是枚举类型中定义的符号常量,它们分别对应0、1、2等整型常数。day是定义的一个枚举变量,可以用来存储枚举类型中的任何一个符号常量。
为了方便使用,我们可以使用typedef关键字来给枚举类型起一个别名,例如:
```
typedef enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
} DayOfWeek;
```
在这个例子中,DayOfWeek是枚举类型Weekday的别名,可以用来代替原来的枚举类型名进行使用。
相关问题
c语言 枚举类型enum用法
枚举类型是C语言中的一种特殊类型,它可以让我们定义一些具有固定取值范围的变量。枚举类型的定义格式为:enum 枚举类型名 { 枚举值1, 枚举值2, ... }; 其中,枚举值可以是整型常量、字符常量或字符串常量。枚举值默认从0开始自动编号,也可以手动指定枚举值的编号。以下是一个枚举类型的例子:
```c
enum weekday {Sun, Mon, Tue, Wed, Thu, Fri, Sat};
```
上面的代码定义了一个名为weekday的枚举类型,它包含了7个枚举值,分别为Sun、Mon、Tue、Wed、Thu、Fri和Sat。其中,Sun的枚举值为0,Mon的枚举值为1,以此类推。
枚举类型的使用方法如下:
```c
enum weekday today;
today = Wed;
printf("Today is %d\n", today);
```
上面的代码定义了一个名为today的枚举类型变量,将其赋值为Wed,然后输出today的值,输出结果为:3。
typedef enum 枚举
typedef enum 枚举是一种在C语言中定义枚举类型的方式。枚举类型是一种用户自定义的数据类型,它可以用来定义一组具有相同属性的常量。在C语言中,使用typedef关键字可以给枚举类型起一个别名,方便在程序中使用。
枚举类型的定义格式如下:
```
typedef enum {
常量1,
常量2,
...
} 枚举类型名;
```
其中,常量1、常量2等是枚举类型的取值,可以根据需要自行定义。每个常量都会被赋予一个默认的整数值,从0开始递增。这些常量可以在程序中作为标识符来使用。
例如,我们可以定义一个表示星期几的枚举类型:
```
typedef enum {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
} Weekday;
```
在程序中,我们可以使用Weekday类型来声明变量,并使用枚举常量来赋值:
```
Weekday today = MONDAY;
```
这样,我们就可以通过变量today来表示当前是星期几。