zoukankan      html  css  js  c++  java
  • union内嵌struct用法

     
    // union内嵌struct用法
    // 众所周知,union为联合体,struct为结构体。下面根据实例谈谈用法
     
    #include <stdio.h>  
    #include <string.h>  
    void main()  
    {   
        union{                    
            char i[6];   
            struct{               
                char first;   
                char second;  
                char third;  
                char fourth;  
                unsigned short five;  
                  }half;   
             }number;  
        strcpy(number.i,"abcdA");  
        printf("%c%c ",number.half.first, number.half.second);  
        printf("%c%c%d ",number.half.third, number.half.fourth,number.half.five);  
    }
    // 输出结果为: 

    图片

    // union中各个变量是共用内存空间。上例中,char数组和结构体共用内存空间。正如程序输出结果
    // char数组赋值,结构体中的变量就会按顺序获得数组中的值。
     
    main()   
        {   
             union{                     
                  int i;   
                  struct{               
                       char first;   
                       char second;   
                       char third;   
                       char fourth;   
                  }half;   
             }number;   
             number.i=0x44434241;           
             printf("%c%c%c%c ", number.half.first,number.half.second,number.half.third, number.half.fourth);   
             number.half.first='a';     
             number.half.second='b';   
             number.half.third='c';   
             number.half.fourth='d';   
             printf("%x ", number.i);   
        }  
    // 输出结果为: 

    图片

    // 从上例结果可以看出: 当给i赋值后, first,second,third,fourth也就相应被赋值; 
    // 当给first,second,third,fourth赋字符后, 这四个字符的ASCII码也被赋值给i。
  • 相关阅读:
    编辑文章
    POJ_1195 Mobile phones 【二维树状数组】
    WCF探索之旅(三)——IIS公布WCF服务
    doT.js具体使用介绍
    数据结构:最小生成树--Kruskal算法
    关于打开sdk下载不了的最优秀解决方式
    JS 之 数据类型转换
    MongoDB学习笔记&lt;六&gt;
    Spring、Hibernate 数据不能插入到数据库问题解决
    Cocos2d-x 3.0final 终结者系列教程16-《微信飞机大战》实现
  • 原文地址:https://www.cnblogs.com/david-wei0810/p/5953007.html
Copyright © 2011-2022 走看看