C语言共用体union使用方法的相关说明
共用体和结构体的结构特别类似,但是其与结构体的区别就是:共用体的成员共用一块内存,结构体的成员不共用一块内存。举例说明:
// 结构体
struct{
int num; //学号
int age; //年龄
} stu1;
stu1.num = 1;
stu1.age = 2;
printf("stu1.num的值为%d,stu1.age的值为%d",stu1.num,stu1.age);
//共用体
union{
int num; //学号
int age; //年龄
} stu2;
stu2.num = 1;
stu2.age= 2;
printf("stu2.num的值为%d,stu2.age的值为%d",stu2.num,stu2.age);
最终得到的结果为“stu1.num的值为1,stu1.age的值为2”,“stu2.num的值为2,stu2.age的值为2”。因为stu1的num和age不共用内存,所以可以分开赋值,但是stu2的num和age共用内存,所以当给age赋值时同时也会给num赋值。