c语言结构体与共用体,简单说说有何区别。。。

2025-04-28 06:43:26
推荐回答(1个)
回答1:

结构体里面的每一个元素都占有一定的内存空间。而共用体占用其元素中最长的变量的那个类型的内存空间。其赋值是覆盖式的,比如:
union data {int a; long b; char c; }d,e,f;

d.a=1;
d.b=10000000000; //前面都d.a 没有意义了。
d.c='s'; //这样定义后,前面的,a,b 都没了。。

那么只有d.c是有效的,其余的都没有意义啦。