c语言中union(c语言union用法)

简单·爱ひ
阅读

c语言中union(c语言union用法)

您好,蔡蔡就为大家解答关于c语言中union,c语言union用法相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、C语言中,union的使用与struct 的用法非常类似,主要区别在于union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。

2、具体的案例:union StateMachine{ char character; int number; char *str; double exp;};一个union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,最大长度是double 型态,所以StateMachine 的空间大小就是double 数据类型的大小。

3、union,即“联合”,是一种特殊的类,也是一种构造类型的数据结构。

4、在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,以达到节省空间的目的(还有一个节省空间的类型:位域)。

5、 这是一个非常特殊的地方,也是联合的特征。

6、另外,同struct一样,联合默认访问权限也是公有的,并且,也具有成员函数。

本文就讲到这里,希望大家会喜欢。

阅读
本文由用户上传,如有侵权请联系删除!

撰写回复
更多知识