共用体表示几个变量共用一个内存位置,在不同的时间保存不同的数据类型和不同长度的变量。在union中,所有的共用体成员共用一个空间,并且同一时间只能储存其中一个成员变量的值。
union foo{/*“共用”类型“FOO”*/
int i; /*“整数”类型“i”*/
char c; /*“字符”类型“C”*/
double k; /*“双”精度类型“K”*/
};
当一个共用体被声明时, 编译程序自动地产生一个变量, 其长度为联合中类型字节数最多的变量的类型长度的整数倍。
union foo{/*“共用”类型“FOO”*/
char s[10]; /*“字符”类型的数组“S”下面有“10”个元素*/
int i; /*“整数”类型i*/
};
在这个union中,foo的内存空间的长度为12,是int型的3倍,而并不是数组的长度10。
本文深入探讨了共用体在程序设计中的应用,解析了共用体如何使多个变量共享同一段内存,以及编译器如何确定共用体的大小。通过具体示例,展示了不同类型变量在同一内存空间中的存储方式。
472

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



