
int main()
{
typedef union sample{
short i;
char c;
float f;
}SAMPLE;
SAMPLE u;
printf("%d\n",sizeof(union sample));//sizeof()中可以写SAMPLE,也可以写u,同样可以写union samp,但是就是不可以写samp,会显示从未读到过。
printf("%p\n",&u.f);
printf("%p\n",&u.c);
printf("%p\n",&u.i);
return 0;
}
会发现无论是那个地址,它的首地址都是相同的,这样就实现了为什么共用体只可以传入里面的一个类型,而且共用体不可以比较,而且无法传入函数
本文探讨了C语言中的共用体(Union)类型,通过一个示例展示了如何使用sizeof()操作符来获取共用体的大小,并解释了为何共用体内的成员地址相同,从而说明了共用体只能存储其中一个成员的特性,以及其不适用于比较和作为函数参数的原因。
8795

被折叠的 条评论
为什么被折叠?



