①理论
共用体和结构体类似,
区别在于:
共用体成员共享一段公共存储空间。
占字节多的成员决定共用体总字节,
占字节少的成员在总字节的低位。
高低字节可简单理解为:
1100,00就是低字节,11就是高字节。
~
②说明
#include< stdio.h>
/*共用体类型的说明*/
union change
/*共用体类型的标志:union
共用体标识名:change */
{char c[2];
short int a;}
/*共用体类型的两个成员:c[2]和a。
2个字符占2个字节,一个短整型占2个字节。即占字节多的a,可以拆分成占字节少的2个字符。低位字节c[0],高位字节c[1]。*/
un;
/*共用体类型的变量: un*/
~
③主函数
main
{un.a=16961;
/*短整型a赋值为16961,
对应二进制码为100001001000001。
分成两段:
高位c[1]和低位c[0]
01000010和01000001
还原成整型:66和65
ASCLL码对应字符:'B'和'A'*/
printf("%d,%c\n",un.c[0],un.c[0]);
/*输出un.c[0]为66,'B'。*/
printf("%d,%c\n",un.c[1],un.c[1]);}
/*输出un.c[1]为65,'A'。*/