struct gift_list
{
//公共属性
int stock_number;//库存量
double price; //定价
int item_type;//商品类型
//特殊属性
char title[20];//书名
int num_pages;//⻚数
char design[30];//设计
int colors;//颜⾊
int sizes;//尺⼨
};
巧妙的应用1
题:将int n=0x11223344以16进制的形式逐个打印
union U
{
int n;
struct S
{
char c1;
char c2;
char c3;
char c4;
}s;
};
int main()
{
//int n = 0x11223344;
union U u = { 0 };
u.n = 0x11223344;
//将n逐个字节取出
printf("%x %x %x %x\n", u.s.c1, u.s.c2, u.s.c3, u.s.c4);
//%x十进制打印
return 0;
}
巧妙的应用2
题:判断当前机器是大端还是小端
int check_sys()
{
union //匿名联合体
{
char c;
int i;
}u;
u.i = 1;//共4个字节
return u.c;//返回第1个字节的位置
}
int main()
{
int ret = check_sys();
if (ret == 1)
printf("小端\n");
else
printf("大端\n");
return 0;
}