帮忙解决一下C语言
若有下面的说明和定义,则sizeof(structaa)的值是structaa{intr1;doubler2;floatr3;Unionuu{charu1[5];long...
若有下面的说明和定义,则sizeof( struct aa)的值是
struct aa
{int r1;double r2;float r3;
Union uu{char u1[5];long u2[2];}ua;
}mya; 展开
struct aa
{int r1;double r2;float r3;
Union uu{char u1[5];long u2[2];}ua;
}mya; 展开
4个回答
展开全部
我用VC帮你调试了一下
#include <stdio.h>
struct aa // 4 + 8 + 4 +16 = 32
{
int r1; // 4
double r2; // 8
float r3; // 4
union uu{ //取下面最大的 16
char u1[5]; // 1*5 = 5
long u2[2]; // 2*8 = 16
}ua;
}mya;
int main()
{
printf("int=%d",sizeof(int));
printf("double=%d\n", sizeof(double));
printf("float=%d\n", sizeof(float));
printf("long=%d\n",sizeof(long));
printf("aa=%d\n",sizeof(aa));
return 0;
}
#include <stdio.h>
struct aa // 4 + 8 + 4 +16 = 32
{
int r1; // 4
double r2; // 8
float r3; // 4
union uu{ //取下面最大的 16
char u1[5]; // 1*5 = 5
long u2[2]; // 2*8 = 16
}ua;
}mya;
int main()
{
printf("int=%d",sizeof(int));
printf("double=%d\n", sizeof(double));
printf("float=%d\n", sizeof(float));
printf("long=%d\n",sizeof(long));
printf("aa=%d\n",sizeof(aa));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2+8+4+max(1*5,4*2,)=22
一一对应,能看明白吧?
结构体取和,共用体取最大值
一一对应,能看明白吧?
结构体取和,共用体取最大值
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询