union与struct的区别?
生活随笔
收集整理的这篇文章主要介绍了
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 主要用来压缩空间
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的区别?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: sizeof 是关键字不是函数!使用si
- 下一篇: 深入理解int a[5];