C--联合体union

#include <stdio.h>
//联合体
//联合体union是一个能在同一个存储空间存储不同类型数据的类型,联合体所占的内存长度等于其最长成员的长度,也有叫做共用体
//联合体虽然可以有多个成员,但同一时间只能存放其中一种,对于联合体来讲最基本的原则是,一次只操作一个成员变量,如果这个变量是指针,那么一定是处理完指针对应的内存之后再来使用其他成员

union variant{
    int ivalue;
    char cvalue;
    double dvalue;
};
/*  定义变量var1,var2 
union variant{
    int ivalue;
    char cvalue;
    double dvalue;
}var1,var2;
*/

int main ()
{
   union variant var;//创建变量
   var.ivalue=0x1234;  //赋值 
    //34 12 00 00   注意:低位在前
    var.cvalue=1;
    //01 12 00 00 
    printf("%x", var.ivalue);//输出结果为0x1201
           
   
   return(0);
}

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/13375435.html