联合体和结构体的知识考察

有如下封装,若 x.a = 0x22334455,则 x.u.b1x.u.b2x.u.b3 的值分别是多少?

union{

int a;

struct{

   char b1;

   short b2;

   char b3;

  }u;

}x

一般情况下,默认系统为64位机小端模式。

联合体的大小是它的最大成员的大小,int类型大小为4,struct u 的大小的大小是6(2+2+2,根据最大自动补齐),所以这个联合体的大小为6。

所以在我们分配数据时,如下图。

 

所以答案分别是0x55,0x3322,0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值