周游C语言教程14 - 共用体
这是周游C语言的第十四篇教程,你将在这篇文章里认识共用体。
共用体
共用体运行你在同一块内存空间存储不同数据类型的数据。
定义共用体
和结构体相同,只不过结构体会为每一个成员分配一个内存空间,而共用体会共用同一个内存空间。
union Data
{
char c;
short s;
int i;
} data;
使用结构体
#include <stdio.h>
#include <string.h>
union Data
{
char c;
short s;
int i;
};
int main()
{
union Data data;
int i = 0;
data.c = 100;
data.s = 4000;
data.i = 200000;
printf("data.c=%d,data.s=%d,data.i=%d\n",data.c,data.s,data.i);
printf("data.c=0x%x,data.s=0x%x,data.i=0x%x\n", data.c, data.s, data.i);
return 0;
}
可以看到data中的数值最后等于20000,而其他元素会取20000中符合自己长度的值。