码迷,mamicode.com
首页 > 其他好文 > 详细

struct和union区别

时间:2018-11-23 18:32:19      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:str   编译   有关   成员类   选中   自动   多个   struct   类型   

主要区别有以下几点:

 

1、在存储多个成员信息时,编译器会自动非是投入出题人每个成员分配存储空间,struct可以存储多个成员变量信息;而union每个成员会共用同一个存储空间,且只能存储最后一个成员的信息;

 

2、都是由多个不同的数据类型成员组成,但在任何同一时刻,union值存放了一个被先选中的成员,而结构体struct的所有成员都存在;

 

3、对于union的不同成员赋值,将会对其他成员重写,原来的成员值就不存在了,而对struct的不同成员赋值是互不影响的;

 

4、系统分配给union的内存size就是size最大的成员所需空间大小,struct在分配空间时,根据成员类型不同,会存在字节对齐情况,具体对齐标准和机器有关,可能是4字节或8字节等对齐方式。

struct和union区别

标签:str   编译   有关   成员类   选中   自动   多个   struct   类型   

原文地址:https://www.cnblogs.com/kevin-lb/p/10008887.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!