在C语言里面,共用体和结构体的区别?

 我来答
阿侠b9
推荐于2018-08-12 · TA获得超过1409个赞
知道小有建树答主
回答量:674
采纳率:0%
帮助的人:438万
展开全部
首先你说的很对 共同体的确占的内存要比结构体小

结构体占用的内存空间,是其元素,占空间的总和,而共用体是,元素中占用空间最大的元素的空间!所以共用体在空间开销上要小一点!

但是既然是两个不同的概念当然是不一样的 要不就没必要定义两个名词了

其实在共用体所用的内存中已经写入了数据!当使用其它元素时!上次使用的内容将被覆盖. 也就是说他使几个不同类型的变量共占一段内存(相互覆盖),每次只有一个能使用

结构体则不然, 每个成员都会有存储空间的,可以一起用.内部变量间是相互独立的,c中的结构体和C++里的类很相像~~

参考资料: http://zhidao.baidu.com/question/77265997.html

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
牧赫班经亘
2019-09-13 · TA获得超过1147个赞
知道小有建树答主
回答量:1895
采纳率:100%
帮助的人:9万
展开全部
结构体(Structure)是一个或多个相同数据类型或不同数据类型的变量集合在一个名称下的用户自定义数据类型
共用体是在同一存储空间上存不同类型的数据,用于节省空间
而C语言中的函数和高中数学的函数是不同的,数学中的函数是一个具体的解析表达式;而C语言中的函数是实现某一功能的一段代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuy1990
2010-07-28 · TA获得超过3365个赞
知道小有建树答主
回答量:1122
采纳率:100%
帮助的人:1450万
展开全部
共用体所占的内存是这个共用体中最大占用内存的那一个,而结构体是所有成员所占的内存总和
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
redcliffe110
2010-07-28 · TA获得超过123个赞
知道小有建树答主
回答量:217
采纳率:100%
帮助的人:105万
展开全部
一句话 结构体在没调用它的时候不占内存
共用体占
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mafangsan
推荐于2017-10-08 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2610万
展开全部
结构体与共用体
1.结构体(struct)
定义:结构体是由一系列具有相同数据类型或不同数据类型的数据构成的数据集合。
例子:
struct student
{
int num;
char name[20];
};
2.共用体(union)
定义:union维护足够的空间来放置多个数据成员中的“一种”,而不是为每一个数据成员配置 空 间,
在union中所有的数据成员公用一个空间,同一时间只能存储其中的一个数据成员,所有的成员具有相同的起始地址。
例子:
union data
{
int i;
char ch;
float f;
}
大小为4个字节。

可见二者最大的区别就是所占用的内存,一个是分量内存之和,另外一个是等于最大的分量的内存。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式