• 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
    }
  • 相关阅读:
    第一周任务Largest Submatrix of All 1’s
    第一周 Largest Rectangle in a Histogram
    第二次作业
    B. Light bulbs(2019 ICPC上海站)
    二维平面最近点-分治
    python生成器,推导式
    python函数名的运用,闭包,迭代器
    python函数(二)
    python函数(一)
    python基础(七)
  • 原文地址:https://www.cnblogs.com/1203ljh/p/4728759.html
Copyright © 2020-2023  润新知