C语言基础九- 共用体
1. 定义与声明
#include <stdio.h>
#include <string.h>
union UserInfo{
char idStr[50];
int idNum;
};
int main(void){
union UserInfo userInfo;
userInfo.idNum = 6789;
printf("idNum:%d\n",userInfo.idNum);
strcpy(userInfo.idStr, "xyz");
printf("idNum:%d\n",userInfo.idNum);
printf("idStr:%s\n",userInfo.idStr);
printf("sizeOfuserInfo:%zu\n",sizeof(union UserInfo));
printf("sizeOfidStr:%zu\n",sizeof(userInfo.idStr));
return 0;
}
2. 典型用途
union UserID{
char idStr[50]
int idNum
}
struct User{
char name[20]
union UserID id
}
#include <stdio.h>
#include <string.h>
union IntFloat{
int i;
float j;
};
int main(void){
union IntFloat x;
x.i = 3.14f;
printf("十六进制输出: %x\n",x.i);
return 0;
}