共用体与结构体的不同点是共用体是所有成员共用一块内存空间,所有的结构成员有这相同的起始地址
只是使用时间的时间不同,往往是一个成员存入,处理后,再使用另一个成员。
#include<stdio.h>
union utp
{
char str[5];
int a;
float f;
}u;
void main (void)
{
u.a=1;
printf("%c",u.str[0]);
}
输出是一个笑脸;
原因是在32位机器上,存储模式有大端模式和小端模式,而我的机器是小端模式的所以我的是笑脸
笑脸的对应ascii码是0x01