union理解

union联合体是一种类似于struct结构体的数据结构,它可以包含多种数据类型和变量,但是它们共享同一段内存空间,所以每次只能使用一个成员。union联合体的作用是节省空间,当一些数据不可能同时被用到时,可以使用union。union联合体的定义和使用方法与struct结构体类似,只是关键字从struct改为union。

//定义一个名为Data的联合体类型
union Data {
  int i;
  double x;
  char str[16];
};

//声明一个Data类型的变量uvar
union Data uvar;
uvar.i = 10; //给i赋值
uvar.x = 3.14; //给x赋值,此时i的值被覆盖
strcpy(uvar.str, "Hello"); //给str赋值,此时x的值被覆盖
printf("%d\n", uvar.i); //访问i 结果不是10
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容