//共用体
#include<stdio.h>
union A //union是C语言一个关键字,声明一个共用体类型变
{
int a;
char ch;
};
int main()
{
union A a;
a.a = 5;
a.ch = 1;
printf("%p,%p,%p\n",&a,&a.ch,&a.a); //0xbfffd770,0xbfffd770,0xbfffd770共用体所有成员起始地址都是一样的
printf("%d\n",a.a);// 1 共用体中只能用一个变量且公用一个空间,a原来的值被ch覆盖了
return 0;
}
// 判断大小端
int main1()
{
unsigned int b = 0x12345678;
char *p = (char *)&b; //强制类型转换
printf("%x\n",*p);
printf("%x\n",*(p+1));
printf("%x\n",*(p+2));
printf("%x\n",*(p+3));//78 56 34 12 高字节数据放在高地址上,低字节数据放在低地址上,此为小端模式,大端反之
return 0;
}
int check ()
{
union
{
char ch;
int a;
}a;
a.a = 1;
return (a.ch == 1);//判断ch的值,并返回值
}
int main2()
{
if(check())
printf("小端\n");//小端
else
printf("大端\n");
return 0;
}
判断大小端模式与共用体
最新推荐文章于 2024-07-18 09:30:46 发布