在这里插入代码片#include <stdio.h>
struct TestT
{
int idata;
char cdata;
int ddata;
};
union TestU
{
int idata;
char cdata;
int ddata;
};
int main()
{
struct TestT t1;
union TestU u1;
printf("结构体t1的大小是:%d\n",sizeof(t1));
printf("联合体u1的大小是:%d\n",sizeof(u1));
printf("\n");
t1.idata=10;
t1.cdata='a';
t1.ddata=30;
printf("idata:%p,%d\n",&t1.idata,t1.idata);
printf("cdata:%p,%d\n",&t1.cdata,t1.cdata);
printf("ddata:%p,%d\n",&t1.ddata,t1.ddata);
printf("\n");
u1.idata = 10;//数据覆盖 idata的值是 30
u1.cdata = 'a';
u1.ddata = 30;
printf("idata = %d\n",u1.idata);
printf("cdata = %d\n",u1.cdata);
printf("ddata = %d\n",u1.ddata);
printf("idata:%p\n",&u1.idata);
printf("cdata:%p\n",&u1.cdata);
printf("ddata:%p\n",&u1.ddata);
return 0;
}
C语言基础语法第八章结构体demo8.13共用体注意数据覆盖的问题.c
于 2024-11-25 19:47:25 首次发布