联合体、枚举体初步了解及运用

时间:2022-09-05 18:30:09

当然,当学过结构体后,还有两种简单的联合体,枚举体,只要知道基本的语法问题,一切都不是问题。

联合体:

简单的定义样式1:

联合体、枚举体初步了解及运用赋值操作类似于结构体如下:

联合体、枚举体初步了解及运用我们打印下看看:如下图。

联合体、枚举体初步了解及运用效果如图:联合体、枚举体初步了解及运用

这就是一个联合何为联合的意思,为什么只能打印完整的double数据类型,分析下它的字节数就知晓了。

联合体、枚举体初步了解及运用它的字节就是如图看最下面:联合体、枚举体初步了解及运用

这告知我们,联合体内数据它只取最大的字节数据类型。即double数据类型的八个字节。

那么,我们初步的了解为:联合体就是公用一个内存空间。

继续看:当小编就只打印一个int数据类型和double数据类型时,如下图:

联合体、枚举体初步了解及运用效果如图:联合体、枚举体初步了解及运用

这就告知我们,当联合体内部,字节数少的数据类型遇见字节数多的类型时,只会打印高字节的完整数据,低字节类型直接为0.

简单就是说:1.联合体内部的取值完整与否,全得看字节大小决定

2.如果单独打印一个int数据类型,不用看了,肯定能打印完整。

如图:联合体、枚举体初步了解及运用效果图:联合体、枚举体初步了解及运用

3.前提之一,没有对高字节的数据类型赋值。前提之二,没有对同等数据类型赋值,且此类型还是后进入堆栈之中。

 满足这两个条件,打印的效果,全凭后进的数据类型为完整。

 联合体、枚举体初步了解及运用 效果如图:联合体、枚举体初步了解及运用

--------------------------------------------------------------------------------分界线--------------------------------------------------------------------------

第二种定义,a,b都代表union Union

联合体、枚举体初步了解及运用printf()下看看联合体、枚举体初步了解及运用效果:联合体、枚举体初步了解及运用

第三种:

联合体、枚举体初步了解及运用方法一样。

 效果如图:联合体、枚举体初步了解及运用

下面说说枚举体:

枚举体更加简单,看清三张样式图就能搞定。记住一切都是语法套路的问题。摸清了,一切OK!

联合体、枚举体初步了解及运用

这枚举体有点区别,它类似是宏定义一样。

我们看看它是如何打印:联合体、枚举体初步了解及运用打印效果如图:联合体、枚举体初步了解及运用

初步的了解为,枚举体它默认的第一个元素为0,然后依次递增1。

当然,如何赋值呢?看下面示意图:

联合体、枚举体初步了解及运用小编随意给第一个赋值为1,打印效果图:联合体、枚举体初步了解及运用

你也可以给任意一个赋值,打印看看。当然我写的上下左右只是个例子,你也可以写星期一到星期天,任意写多少个随你高兴就好。

联合体、枚举体初步了解及运用

最后一点只需要记住,枚举体的字节数它只是4个字节即可。

基本语法就是这样,如有不妥,请见谅!