九、共同体的使用
00 分钟
2023-9-18
2023-9-24
type
status
date
slug
summary
tags
category
icon
password
共用体是一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型。您可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同的内存位置的有效方式。

1、定义共同体

定义共同体类似与定义结构体类似,我们需要使用union关键字:
在这个共同体中写了三种变量类型,这表示这个共同体可以作为intfloat或者字符串使用。

2、空间占用

与结构体不同,由于共同体一次只能表示一种类型,所以我们不必计算他的内存情况,只需要找到其中占用内存最大的类型,这便是共同体的大小。
以上面代码为例,Data共同体占用的空间为char str[20]所占用的空间20字节。
代码展示占用空间:
上述代码输出结果为:
占用空间:20

3、共同体成员访问

同样的我们可以使用.成员访问运算符来访问共同体中的某个成员,例如:
输出结果:
i = 1819043144 f = 1143139122437582505939828736.000000 str = Hello world
我们可以发现,if的值与我们预期的值不一样,这是因为union共同体一次只能保存一个数据类型且使用的空间有限,我们在最后赋值为字符串后,原有保存intfloat的空间被覆盖,所以输出的值并不是预期值。
上一篇
十、函数指针与函数回调
下一篇
HarmonyOS开发-ArkTS语言介绍

评论
Loading...