计算机二级C基础知识:C语言共用体类型

来源:网络发布时间:2009-01-20
 共用体类型也是用来描述类型不相同的数据,但与结构体类型不同,共用体数据成员存储时采用覆盖技术,共享(部分)存储空间。在结构体中增加共用体类型成员,可使结构体中产生动态成员,相当于PASCAl,语言的变体记录。共用体类型在有的书中亦译为联合体类型。
  共用体类型的定义
  共用体类型定义用关键字union标识,形式为:
  union标识符
  {成员表};
  标识符给出共用体名,是共用体类型名的主体,定义的共用体类型由“union标识符”标识。例如,定义一个共用体类型,要求包含一个整型成员,一个字符型成员和一个单精度型成员:
  union icf
  {int i;
  char c;
  float f;
  };
  共用体变量的定义
  共用体变量的定义和结构体变量的定义类似,也有三种方法。同样提倡使用第一种方式来定义共用体变量,考试大整理发布。
  (1)先定义共用体类型,再定义共用体变量:
  ①union共用体名
  {成员表};
  ②union共用体名变量表;
  (2)定义共用体类型的同时定义共用体变量:
  union共用体名
  {成员表}变量表;
  (3)直接定义共用体变量:
  union{成员表}变量表;
  请读者给出共用体变量定义的实例。
  对于共用体类型数据,占有的存储空间等于占有存储空间最大的共用体成员所占空间。