lv2 Day4 03 共用体与typedef用法
共用体
1.在C语言中,共用体的概念;其与结构体的区别在哪里;举例说明。
2.共用体的定义,共用体类型成员的赋值,内存所占用的存储空间的位置关系。
typedef
3.typedef的使用方法,为什么会产生这个关键字,其作用是什么。
4.在C语言中,常用typedef定义结构体类型。举个例。
(1)在C语言中,不同数据类型的数据可以使用相同的存储区域,这种数据构造类型称为共用体,简称共用,又称联合体 union。
(2)其与结构体的区别在于,共用体的成员在内存中使用共同的存储空间,如果成员的数据类型不同,则按占用内存最大的成员的数据类型分配。而结构体总是根据按各成员的数据长度之和占用内存空间。
(3)
union gy{
int i;
char c;
float f;
};
这里定义了一个共用体类型union gy,它含有3个不同数据类型的成员,但是 sizeof(union gy) 结果是 sizeof(int) 的值。
2.
(1)共用体的定义方式与结构体类似,共有3种。
(2)考虑到共用体的成员是使用同一块内存空间,故其成员的赋值必定存在一个相互覆盖的问题。因此,在共用体类型变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后,原有的成员就失去作用。
#include <stdio.h>
union gy{
char a;
short b;
int c;
}v2;
int main()
{