C语言之枚举和联合体

文章介绍了枚举在编程中的使用,如列举星期、性别和月份,强调了枚举增加代码可读性、类型检查和防止命名污染等优点。同时,讨论了联合体(共用体)的特点,即所有成员共享同一内存空间,其大小由最大成员决定,并遵循对齐规则。
摘要由CSDN通过智能技术生成

枚举:

枚举顾名思义就是一一列举

把可能的值一一列举

比如我们生活中:

一周的星期一到星期日是有限的7天,可以一一列举

性别有男,女,保密,也可以一一列举

月份有12个月也可以一一列举

这里我们就可以使用枚举了。

那么我们怎么使用枚举呢?我们拿颜色举列子:

 enum为枚举的关键字,Color为名称,{}里为枚举常量(是可以修改值的)。

 我们运行发现,枚举常量的大小默认为从0开始。

枚举的优点:

1、增加代码的可读性和可维护性

2、和#define定义的标识符相比枚举有类型检查,更加的严谨

3、防止了命名污染(封装)

4、便于调试

5、使用方便,一次可以定义多个常量

联合体:

联合体定义的变量包含一系列的成员,特征是这些成员公用同一块空间(所以联合体也称为共用体)。

 我们定义一个联合体,我们发现联合体和里面的成员c和i存放的地址相同,同时联合体的大小为4,这和我们前面的结构体出入很大,那么我们来分析分析联合体的储存规则。

其实联合体也是有对齐规则的。

联合体大小至少是最大成员的大小。

当最大成员大小不是最大对齐数的整数倍时,就要对齐到最大对齐数的整数倍。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏醒醒苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值