c中enum用法
在C语言中,`enum`是一个关键字,用于定义枚举类型。枚举是一种用户定义的数据类型,它包含了一组命名的整数值。这些值通常在程序中用于表示某种状态或类型。
下面是`enum`的一些基本用法:
1. 定义枚举类型:
```c
enum color {
RED, GREEN, BLUE
};
```
这里定义了一个名为`color`的枚举类型,它有三个值:`RED`、`GREEN`和`BLUE`。默认情
况下,这些值会被赋予整数值0、1和2。
2. 指定枚举值的初始值:
```c
enum color {
RED = 1, GREEN = 2, BLUE = 4
};
```
在这个例子中,我们为每个枚举值指定了初始值。
3. 使用枚举类型:
```c
int main() {
enum color myColor = GREEN;
switch语句c语言例子 printf("My color is %d\n", myColor); // 输出: My color is 2
return 0;
}
```
在这个例子中,我们创建了一个名为`myColor`的变量,其类型为`color`枚举类型,并将其初始化为`GREEN`。然后我们打印出该变量的值,输出为2,因为我们在定义枚举时为`GREEN`指定了值2。
4. 枚举与整数的转换:
由于枚举值本质上就是整数,你可以直接将整数赋值给枚举变量,反之亦然。例如:
```c
enum color myColor = 3; // 正确,3会被解释为BLUE(因为BLUE的值是4,所以3-4=-1,再取模3余数是3)
myColor = RED + 1; // 正确,RED的值是1,所以1+1=2,再赋值给myColor后,myColor的值变为GREEN(值为2)
```
5. 在switch语句中使用枚举:
你也可以在`switch`语句中使用枚举。例如:
```c
int main() {
enum color myColor = GREEN;
switch (myColor) {
case RED: printf("It's red!\n"); break;
case GREEN: printf("It's green!\n"); break;
case BLUE: printf("It's blue!\n"); break;
default: printf("Unknown color!\n"); break;
}
return 0;
}
```
这段代码会输出:“It's green!”。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论