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区别的主要内容,如果未能解决你的问题,请参考以下文章

结构体struct与联合体union的区别

Struct和Union的区别

Struct 和 Union区别

结构体与联合体的区别

struct ip与struct iphdr 有啥区别

小狼,你家BOSS喊你面试啦!!!