struct和union区别
Posted kevin-lb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struct和union区别相关的知识,希望对你有一定的参考价值。
主要区别有以下几点:
1、在存储多个成员信息时,编译器会自动非是投入出题人每个成员分配存储空间,struct可以存储多个成员变量信息;而union每个成员会共用同一个存储空间,且只能存储最后一个成员的信息;
2、都是由多个不同的数据类型成员组成,但在任何同一时刻,union值存放了一个被先选中的成员,而结构体struct的所有成员都存在;
3、对于union的不同成员赋值,将会对其他成员重写,原来的成员值就不存在了,而对struct的不同成员赋值是互不影响的;
4、系统分配给union的内存size就是size最大的成员所需空间大小,struct在分配空间时,根据成员类型不同,会存在字节对齐情况,具体对齐标准和机器有关,可能是4字节或8字节等对齐方式。
以上是关于struct和union区别的主要内容,如果未能解决你的问题,请参考以下文章