枚举,联合(共用体)
大家好,今天给大家分享语言中的两个自定义类型,那么下面我们就来看看。
1.枚举
枚举是一个类型,它顾名思义就是一一列举,它适合现实生活中一些有限的值,如星期,性别和月份,这些都可以用枚举变量来定义。这些取值都是有值的,默认从0开始,一次递增1,在定义时也可以赋初值(必须为整型常量表达式)我们来看一个例子
这个就是枚举定义,因为我们没有赋值,所以它默认为0。那么有的读者会觉得枚举没什么实际用处,因为define也可以实现一样的功能,但是并不是这样的,枚举也具备了它本身一些优点:
一.增加代码的可读性和可维护性
二.和define定义的标识符比较有类型检查,更加严谨
三.防止了命名污染(封装)
四.便于调试
五.使用方便,一次可以定义多个常量
2.联合(共用体)
那么我们现在来讲讲联合,其实我不喜欢叫它联合,我个人觉得共用体更符合它的特征(当然每人的感觉不同)。那么下面我就叫它共用体吧。
共用体也是一种自定义类型,这种类型的变量也包含一系列的成员,特征是这些成员共用一块空间。
那么这个类型有什么特点呢,现在就给读者朋友介绍介绍吧,共用体的成员是共用一块空间的(意味着使用其中一个成员时不能再使用其他成员),共用体空间的大小,至少是最大成员的大小。
现在我们来看看如何定义一个共用体吧
那么我定义的这个共用体空间是多大呢?答案是4个字节, 其实并不是每个共用体的大小都是最大成员的大小的,共用体也有大小的计算,当最大成员的大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍(如果不知道对齐的读者朋友可以去看看我结构体那一篇文章)。
那么今天分享也告一段落了,最后给大家分享一个用共用体来实现判断计算机储存方式是大端还是小端的代码
那么今天分享就到这里,谢谢大家!!!