共用体

一.什么是共用体?

       在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中。也就是使用覆盖技术,几个变量互相覆盖。这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作“共用体”类型结构,简称共用体。注:在某些书籍中可能称之为“联合体”,但是“共用体”更能反映该类型在内存的特点。(摘自百度百科)

二.定义共用体类型变量

eg:

union Test      //Test为共用体名
{
	int a;      //a,b,c存储在同一段储存单元中
	float b;
	char c;
}m,n;

或者:

union Test      //Test为共用体名
{
	int a;      //a,b,c存储在同一段储存单元中
	float b;
	char c;
};
union Test m,n;

(定义方式类似结构体。)

三.共用体类型数据的特点:

①共用体变量中只能存放一个值:同一个内存段可以用来存放几种不同类型的成员,但每一次只能存放其中一个,不能同时存放。(共用体类型所占的内存长度等于最长的成员的长度)

②可以对共用体进行初始化,但初始化表中只能有一个变量。

③共用体中起作用的成员是最后一次被赋值的成员,在对共用体中的其中一个成员的赋值后,原有变量储存单元中的值就取代。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章