欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

union与struct的区别?

发布时间:2025/6/15 编程问答 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 union与struct的区别? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
union与struct的区别?
1)union 维护足够的空间来置放多个数据成员中的“一种”,而不是为每一个数据成员配置空间,在union 中所有的数据成员共用一个空间,同一时间只能储存其中一个数据成员,所有的数据成员具有相同的起始地址。例子如下: 
union StateMachine 

char character; 
int number;
char *str;
double exp; 
};


2)一个union 只配置一个足够大的空间以来容纳最大长度的数据成员,以上例而言,最大长度是double 型态,所以StateMachine 的空间大小就是double 数据类型的大小。


3)在C++里,union 的成员默认属性页为public


4)union 主要用来压缩空间


5)如果一些数据不可能在同一时间同时被用到,则可以使用union。


6)union 型数据所占的空间等于其最大的成员所占的空间


7)对union 型的成员的存取都是相对于该联合体基地址的偏移量为0 处开始,也就是联合体的访问不论对哪个变量的存取都是从union 的首地址位置开始。

总结

以上是生活随笔为你收集整理的union与struct的区别?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。