C语言中联合的主要作用是什么

有实际经验的来说说?

正如一楼所说,联合(union)用得很少。是这样的:几个不同数据类型共用同一段内存的结构,称为联合。举个例子:
union
{
int i;
char ch;
float f;
}
这个联合结构有三个元素对吧,一般来说不同的变量存在不同的内存,但联合中的这三个变量就存在同一段内存,只是在固定的某时刻,这个内存中只有这三个元素的其中一个元素存在,说到底是省了内存空间,比如,这个联合结构,就只占(sizeof(float))8个字节,就是元素中占最大空间的元素所占空间的大小。而你看结构体(struct)
struct
{
int i;
char ch;
float f;
}
他占的空间大小就应该是三个元素所占空间的总和(sizeof(int)+sizeof(char)+sizeof(float));基本就是这样了,不知道你明白没
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-29
其实很少使用到,联合的大小就是这个体内占空间最大的那个值,每次改里面的值,都会影响到体内的其他值。其实很少使用到,联合的大小就是这个体内占空间最大的那个值,每次改里面的值,都会影响到体内的其他值。
第2个回答  2012-04-21
其实很少使用到,联合的大小就是这个体内占空间最大的那个值,每次改里面的值,都会影响到体内的其他值。本回答被提问者采纳
第3个回答  2012-04-22
jiushikeyihenkuaizuoti

c语言,union有什么用?
1、union中可以定义多个成员,union的大小由最大的成员的大小决定。2、union成员共享同一块大小的内存,一次只能使用其中的一个成员。3、对某一个成员赋值,会覆盖其他成员的值(也不奇怪,因为他们共享一块内存。但前提是成员所占字节数相同,当成员所占字节数不同时只会覆盖相应字节上的值,比如对char...

在c语言中,共用体一般有什么作用?
共用体一般指联合体,作用如下:1、节省内存 有两个很长的数据结构,不会同时使用,用结构体的话,只占用最长的那个数据结构所占用的空间,就足够了。2、做某些转换用 union{char a[8];double x;};x=20.8;cout<<hex<<a[0]<<“ ”<<a[1]<<…<<endl;...

c语言中联合体有什么用??
强制类型转换盒联合体是不同的东西。这么举个例子吧,我需要表示一个32位寄存器,我可以用一个32位整形表示,也可以用4个的字节数字,也可以用位段,每种表达方式都有用,这时候可以把他们定义成联合体。

C语言中联合的主要作用是什么
只是在固定的某时刻,这个内存中只有这三个元素的其中一个元素存在,说到底是省了内存空间,比如,这个联合结构,就只占(sizeof(float))8个字节,就是元素中占最大空间的元素所占空间的大小。

union在c语言中是什么意思
union在c语言中是联合体的意思。联合体(union),是c语言独有的一种数据类型,可以认为共用体的变量可以用来保存多个数据类型的数据,也可以认为是多个数据占用了同一块内存。

c语言数据结构有哪些
C语言数据结构主要有:数组、结构体、联合体、枚举类型。1. 数组(Array):数组是一种线性数据结构,用于存储相同类型的元素集合。在C语言中,数组是一种基本的数据结构,可以存储整型、字符型等类型的元素。数组中的每个元素都可以通过索引进行访问,索引从0开始。2. 结构体(Struct):结构体是一种...

C语言结构、联合和枚举(struct、union、enum)
联合的作用:用联合来节省空间 构造混合的数据结构 每次对联合的成员赋值,都由程序负责改变标记字段的内容 许多程序中,我们只具有少量有意义的值。 我们为这种具有少量可能值的变量提供了一种专用类型——枚举。区别:枚举常量的名字必须不同于 作用于范围内 声明的其他标识符。枚举常量遵循C语言...

union的作用
是C语言共用体的知识,他是指共用一块存储空间,空间的大小决定由最长的那个决定。如你这道题最大的空间是char c[4] 他占4个字节。MyStruct t;t.c[0] = 1;t.c[1] = 0;t.c[2] = 0;t.c[3] = 0;实际上他是在4个节字里存放数字。前一个字节存放1,后三个字节存放0。所以最后...

c语言有哪些数据结构
在C语言中,枚举实质上是一种整数类型,其值在定义时指定。以上四种数据结构在C语言中非常常见且重要,它们为处理复杂数据和实现各种功能提供了基础工具。除此之外,C语言中还有一些高级数据结构如链表(链表节点需要自己定义)、栈、队列、树、图等,但这些通常需要通过自定义来实现。

c语言中的union是什么意思啊?
c语言中的union是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值。声明一个struct类型,为date,有一个实例变量today,如果int的大小占4个字节,第一句输出12,union表示可以有多种方法来看待这个数据类型,里面的的数据是共享内存空间的,大小应该是...

相似回答