每日一C之union共同体
每天拾一个C语言贝壳,厚积薄发,积跬步以致千里。
今日贝壳:C语言union共同体的空间存储及用法。union共同体用法:
union 共同体名称
{
数据类型 成员数据;
数据类型 成员数据;
......
};
union Myunion //定义共用体Myunion
{
int i; //int数据成员
char ch //char数据成员
};
判断系统大小端:
union的成员数据共用内存,并且首地址都是低地址首字节。int i=1时:
大端存储:1存放在最高地址。
小端存储:1存放在最低地址。
当读取char ch时,是最低地址首字节,大小端存储会显示不同的值,可以轻松判断系统大小端。
#include
union Myunion
{
int i;
char ch;
}My; //定义union共同体my
int main(){
My.i=1; //初始化i
if(My.ch==1) //根据ch的值判断系统大小端
{
printf("系统为小端存储!\n");
}
else
{
printf("系统为大端存储!\n");
}
return 0;
}
Have a nice day !