Skip to content

共用体

概念

共用体是一种特殊的数据类型,它可以储存多种数据类型,并且只占最大类型的空间。对比与结构体,节约了内存空间。

定义共用体

c
union Data
{
   int i;
   float f;
   char  str[20];
} data;

使用共用体

c
#include <stdio.h>
union Data
{
   int i;
   float f;
   char  str[20];
} data;

int main ()
{
    union Data data;
    
    printf( "data 的内存占用空间为 : %d字节\n", sizeof(data));
    
    data.i = 1;
    printf("%d\n%f\n%s\n",data.i,data.f,data.str);
    
    data.f = 3.14;
    printf("%d\n%f\n%s\n",data.i,data.f,data.str);
    
    strcpy(data.str,"helloworld");
    printf("%d\n%f\n%s\n",data.i,data.f,data.str);
    
    return 0;
}
  • 从以上输出可以看出,只有最后一次赋值有效

  • 在实际开发中,如果我们不能确定一个变量的数据类型,我们就可以使用共用体。