前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言——枚举类型

C语言——枚举类型

作者头像
用户11029137
发布2024-03-19 15:50:34
4690
发布2024-03-19 15:50:34
举报
文章被收录于专栏:编程学习

一,什么是枚举类型

简单来说,枚举类型就是可以让我们给整数值分配有意义的名字,从而使得代码更易读、易维护

二,枚举类型的定义和变量的声明

1,如何定义和声明

枚举类型的定义和变量的声明方式也与结构体和联合体相似 (一)枚举类型的定义👇🏻

代码语言:javascript
复制
enum  枚举名
{
     成员项表列
};

(二)枚举变量的声明👇🏻

代码语言:javascript
复制
enum 枚举名 变量名

举例:我们定义一个代表颜色的枚举类型,然后创建一个枚举变量a 👇🏻

代码语言:javascript
复制
enum color
{
	red=1,
	yellow=2,
	blue=3
};
int main()
{
	enum color a;
	return 0;
}

这个 {} 里面的变量red yellow blue都有其对应的特定的,不变的整数,所以这些变量也被叫做枚举常量。 当我们引用这些变量的时候,就会输出他们所代表的值,如👇🏻

代码语言:javascript
复制
#include<stdio.h>
enum color
{
	red=1,
	yellow=2,
	blue=3
};
int main()
{
	printf("%d\n", red);
	printf("%d\n", yellow);
	printf("%d\n", blue);
	return 0;
}

输出结果:

2,关于枚举类型中成员的赋值

如果我们在创建枚举变量时,为未给成员进行初始化赋值,则C语言会自动赋值 遵循:默认从0开始,依次增1 如果只有前几个值,那么后面未被赋值的成员也会被自动赋值,遵循依次增1

例子一(不赋值)👇🏻

例子二(讲将第一个成员赋值为3,后面的不赋值)👇🏻

注意:一旦枚举类型的成员被赋值后,则变成枚举常量,不能再被修改!

3,命名注意事项

同一个程序中不能定义同名的枚举类型;不同的枚举类型中,也不能存在同名的枚举成员。

以下是错误示范:

(一)定义了同名的枚举类型👇🏻

代码语言:javascript
复制
enum color
{
	red,
	yellow,
	blue
};
enum color
{
	green,
	black,
	white
};

(二)存在同名的枚举成员👇🏻

代码语言:javascript
复制
enum color1
{
	red,
	yellow,
	blue
};
enum color2
{
	red,
	black,
	white
};

三,对变量进行赋值

1,使用成员赋值

⭐C语言中的枚举变量通常只能被赋值为枚举类型中定义的成员。 例如,我们给下面的枚举变量a b c赋值👇🏻 【只能使用成员red yellow blue

代码语言:javascript
复制
#include<stdio.h>
enum color
{
	red = 1,
	yellow = 2,
	blue = 3
};
int main()
{
	enum color a, b, c;
	a = red;
	b = yellow;
	c = blue;
	return 0;
}

2,强制类型转化,再赋值

如果我们非要给枚举类型的变量赋整数值,则对枚举型的变量赋整数值时,需要进行类型转换

代码语言:javascript
复制
#include<stdio.h>
enum color
{
	red = 1,
	yellow = 2,
	blue = 3
};
int main()
{
	enum color c;
	c = (enum color)10;  //强制类型转换
	printf("%d\n", c);
	return 0;
}

输出结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一,什么是枚举类型
  • 二,枚举类型的定义和变量的声明
    • 1,如何定义和声明
      • 2,关于枚举类型中成员的赋值
        • 3,命名注意事项
        • 三,对变量进行赋值
          • 1,使用成员赋值
            • 2,强制类型转化,再赋值
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档