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。
  • 相关阅读:
    Android之json解析
    关闭Android/iPhone浏览器自动识别数字为电话号码
    CSS 公共样式摘自万能的度娘
    前端必备:六款CSS工具让代码充满魅力
    移动端JS 触摸事件基础
    height:100%和height:auto的区别
    线程之生产汽车与购买汽车
    SAXCreateXMLDocument
    DOM方式创建XML文件
    java快捷键
  • 原文地址:https://www.cnblogs.com/david-wei0810/p/5953007.html
Copyright © 2011-2022 走看看