一句话解释:union 与结构体定义方式一样,只是所有变量在一个地址上而已。
例子:
#include <stdio.h>
union _test
{
int a;
int b;
}test,*ptest;
int main(void) {
ptest = &test;
//两个变量在同一个地址
//先存入的数据覆盖整个地址
ptest->a = 1;
//b的值也为1
printf("b= %d",ptest->b);
return 0;
}
运行结果:
b= 1
文章通过一个示例解释了C语言中union的工作原理,展示了如何在一个union中,两个int类型的变量a和b共享相同的内存地址。当向其中一个变量赋值时,由于内存覆盖,另一个变量的值也会相应改变。在示例程序中,对ptest->a赋值1后,ptest->b的值也因此变为1,显示了union在存储方面的特性。
593

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



