导读 今天芳芳来为大家解答以上的问题。c语言 union struct,2023年c语言union用法相信很多小伙伴还不知道,现在让我们一起来看看吧!1、C语言...
今天芳芳来为大家解答以上的问题。c语言 union struct,2023年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一样,联合默认访问权限也是公有的,并且,也具有成员函数。
本文就为大家分享到这里,希望小伙伴们会喜欢。