百科狗-知识改变命运!
--

共用体和结构体的区别

百变鹏仔1年前 (2023-12-16)阅读数 7#综合百科
文章标签变量结构

一、变量长度不同

结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有其自己的内存单元。

共用体变量所占的内存长度等于最长的成员的长度。

二、占用空间不同

结构体是同时存在的,并一次占用一段连续的内存空间;

而共用体则是多个共用成员占用同一个开始的内存地址,同时他们只能存在一各,所以空间大小就是最大那个所需的空间,如果单从一个共用体来讲,我们是不知道里面存的是什么内容,需要根据程序上下文才能确定。

三、分配储存空间不同

结构体是由一系列具有相同类型或不同类型的数据构成的数据集合,简称结构。在C语言中,可以定义结构体类型,将多个相关的变量包装成为一个整体来使用。在结构体中的变量,可以是相同、部分相同,或完全不同的数据类型。

结构体类型的定义只是由用户构造了一个结构体,但定义结构体类型时系统并不为其分配存储空间。

百度百科-c++共用体

百度百科-结构体

1. 区别

结构体是多个不同类型变量的组合,其占用的内存大小是所有变量大小的总和

联合体是多个不同类型变量的抽取,其占用内存的大小是联合体中最大的那个变量的大小

2. 解释

结构体中的多个变量同时存在,你可以给其中的每个变量分别赋值。任何一个变量被赋值不影响其他变量。你在需要使用时e69da5e887aae799bee5baa6e997aee7ad9431333337613164每个变量都可以同时被取出使用。

联合体中的多个变量同时只有一个存在。你只能给其中的一个变量赋值。你在给联合体的任何一个变量赋值的时候就覆盖了其他的变量,也就是说只有你刚赋值的这个变量存在,其他都被覆盖掉了

共用体和结构体的区别

3. 用途

结构体和联合体都用于需要把一组变量联合考虑的场合。结构体变量清晰,便于使用,尤其是要表述一个对象的多个属性时方便有效。但是要占用比较大的内存

联合体同时只有一个变量存在,占用资源少,有助于提高编程效率,但是使用不如结构体这么方便和清晰。

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)