0
点赞
收藏
分享

微信扫一扫

c语言-联合

weipeng2k 2022-02-02 阅读 62

联合

选择:

成员是

· 一个int i 还是,

· 一个char c

sizeof(union...)=sizeof(每个成员)的最大值。

union AnElt{

int i;

char c;

}elt1,elt2;

elt1.i=4;

elt2.c='a';

· 存储。

· 所有的成员共享一个空间。

· 同一时间只有一个成员是有效的。

· union的大小是其最大的成员。

· 初始化。

· 对第一成员做初始化。

union的用处

#include<stdio.h>
typedef union{
int i;
char ch[sizeof(int)];
}CHI;
int main(int argc,char const *argv[])
{
CHI chi;
int i;
chi.i=1234;
for(i=0;i<sizeof(int);i++){
printf("%02hhX",chi.ch[i]);
}
printf("\n");
return 0;
}

我们使用的电脑cpu是x86的cpu,是一种小端的机器。

· 输出的结果,低位在前。

· 低位在前,一个数放在内存里时,把低的东西放在前面。

通常可以用union获得一个数字内部的字节。

举报

相关推荐

0 条评论