• union联合体


    共用体(或联合体)定义:

    在进行某些算法的C语言编程的时候,需要使几种不同类型的变量存放到同一段内存单元中,也就是使用覆盖技术,几个变量互相覆盖。

    共用体运用规则:

    1.共用体变量分配的内存大小由最大成员的大小决定;

    2.共用体变量的地址和它各成员的地址都是同一地址,所有成员的存放都是从低地址开始;

    3.由于共享内存,在任何时刻只有一个成员起作用,对某一成员赋值,会覆盖其他成员相应字节上的值;

    4.数组可以作为共用体的成员,也可以定义共用体数组;

    5.共用体变量可以作为函数的参数和返回值;

    6.共用体类型可以出现在结构体类型的定义中,结构体也可出现在公用体类型定义中。

    #include <stdio.h>
    
    typedef union
    {
        int num1;
        int num2;
        char ch;
    }Demo1;                                                  // 实现长度不等覆盖
    typedef union
    {
        int num;
        char ch[4];
    }Demo2;                                                  // 实现整型按字节显示
    
    int main()
    {
        Demo1 d1;
        d1.ch = 'H';
        d1.num1 = 10;
        d1.num2 = 65;
        printf("%d
    ", sizeof(d1));                          // 4
        printf("%c %d %d
    ", d1.ch, d1.num1, d1.num2);       // A 65 65
    
        Demo2 d2;
        d2.num = 24897;
        printf("%x
    ", d2.num);                              // 6141
        printf("%x %x
    ", d2.ch[3], d2.ch[2]);               // 0 0
        printf("%x %x
    ", d2.ch[1], d2.ch[0]);               // 61 41
    }
  • 相关阅读:
    2022.05.31软件更新公告
    为什么不网购方便面
    js localStorage
    uniapp上拉加载更多功能的简单实现
    Centos 系统 软raid 0 实现
    使用vscode调试ros
    wget 命令用法
    是否应该提前还房贷
    mybatis generator 自动生成的拼装sql分析
    动态样式+模板字符串
  • 原文地址:https://www.cnblogs.com/1203ljh/p/4728759.html
Copyright © 2020-2023  润新知