记录自已学习之面试题2

好久没有更新自已的博客了,可能也是因为临近期末,也可能是因为自已懒了,反正肯定是有原因,但是我现在还是要更新博客,记录自已的学习的,最近自已也在学Uboot,很多难懂的东西。但是今天我写的是面试题,是关于共用题(union)的。


关于大端模式就是高字节位对低字节位,小端模式就是低字节位对低字节位。好的不说什么了,直接上代码吧。
#include <stdio.h>


//首先是定义一个共用体
typedef union 
{
int a;
char b;
}myunion;


//声明测试函数
int is_little(void);


int main(void)
{
int ret = is_little();
if (1 == i)
{
printf("little\n");
}
else
{
printf("big\n");
}
return 0;
}


//测试函数
int is_little(void)
{
myunion u;
u.a = 1;
return u.b;

}


我最后的出的是little,是小端模式,其实原理很简单,如果是小端模式的话,低字节位对着低字节位,共用体就是按输出的类型解析内存的,所以当我们用int存进去,然后用char输出的时候就是输出最后一个字节,这里就很容易测试出来大小端模式,还有一种方式好像就是在C51单片机编译器keil中就可以测出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值