在C语言里面,共用体和结构体的区别?
5个回答
展开全部
首先你说的很对 共同体的确占的内存要比结构体小
结构体占用的内存空间,是其元素,占空间的总和,而共用体是,元素中占用空间最大的元素的空间!所以共用体在空间开销上要小一点!
但是既然是两个不同的概念当然是不一样的 要不就没必要定义两个名词了
其实在共用体所用的内存中已经写入了数据!当使用其它元素时!上次使用的内容将被覆盖. 也就是说他使几个不同类型的变量共占一段内存(相互覆盖),每次只有一个能使用
结构体则不然, 每个成员都会有存储空间的,可以一起用.内部变量间是相互独立的,c中的结构体和C++里的类很相像~~
结构体占用的内存空间,是其元素,占空间的总和,而共用体是,元素中占用空间最大的元素的空间!所以共用体在空间开销上要小一点!
但是既然是两个不同的概念当然是不一样的 要不就没必要定义两个名词了
其实在共用体所用的内存中已经写入了数据!当使用其它元素时!上次使用的内容将被覆盖. 也就是说他使几个不同类型的变量共占一段内存(相互覆盖),每次只有一个能使用
结构体则不然, 每个成员都会有存储空间的,可以一起用.内部变量间是相互独立的,c中的结构体和C++里的类很相像~~
参考资料: http://zhidao.baidu.com/question/77265997.html
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
结构体(Structure)是一个或多个相同数据类型或不同数据类型的变量集合在一个名称下的用户自定义数据类型
共用体是在同一存储空间上存不同类型的数据,用于节省空间
而C语言中的函数和高中数学的函数是不同的,数学中的函数是一个具体的解析表达式;而C语言中的函数是实现某一功能的一段代码
共用体是在同一存储空间上存不同类型的数据,用于节省空间
而C语言中的函数和高中数学的函数是不同的,数学中的函数是一个具体的解析表达式;而C语言中的函数是实现某一功能的一段代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
共用体所占的内存是这个共用体中最大占用内存的那一个,而结构体是所有成员所占的内存总和
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一句话 结构体在没调用它的时候不占内存
共用体占
共用体占
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体与共用体
1.结构体(struct)
定义:结构体是由一系列具有相同数据类型或不同数据类型的数据构成的数据集合。
例子:
struct student
{
int num;
char name[20];
};
2.共用体(union)
定义:union维护足够的空间来放置多个数据成员中的“一种”,而不是为每一个数据成员配置 空 间,
在union中所有的数据成员公用一个空间,同一时间只能存储其中的一个数据成员,所有的成员具有相同的起始地址。
例子:
union data
{
int i;
char ch;
float f;
}
大小为4个字节。
可见二者最大的区别就是所占用的内存,一个是分量内存之和,另外一个是等于最大的分量的内存。
1.结构体(struct)
定义:结构体是由一系列具有相同数据类型或不同数据类型的数据构成的数据集合。
例子:
struct student
{
int num;
char name[20];
};
2.共用体(union)
定义:union维护足够的空间来放置多个数据成员中的“一种”,而不是为每一个数据成员配置 空 间,
在union中所有的数据成员公用一个空间,同一时间只能存储其中的一个数据成员,所有的成员具有相同的起始地址。
例子:
union data
{
int i;
char ch;
float f;
}
大小为4个字节。
可见二者最大的区别就是所占用的内存,一个是分量内存之和,另外一个是等于最大的分量的内存。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询