zoukankan      html  css  js  c++  java
  • 第二十四周项目7-读懂“共同体”

    运行下面的程序,并解释运行结果。
    #include <iostream>
    using namespace std;
    union un
    {
        int i;
        char c[4];
    };
    int main()
    {
        union un x;
        x.c[0]='A';
        x.c[1]='B';
        x.c[2]='C';
        x.c[3]='D';
        cout<<x.i<<endl;
        return 0;
    }


    #include <iostream>
    using namespace std;
    union un
    {
        int i;
        char c[4];
    };
    int main()
    {
        un x;
        x.c[0]='A';
        x.c[1]='B';
        x.c[2]='C';
        x.c[3]='D';
        cout<<x.c[2]<<endl;
        return 0;
    }
    

    通过watch窗观察:

    so:

    结构体的引入,用户可以方便定义新的数据类型,用成员变量来存储事物不同方面的特性。但是结构体每一个成员变量均需要占用一定的存储空间,与实际的要求存在一定的差距。引入的新的自定义数据类型共用体(union),很像结构体类型,有自己的成员变量,但是所有的成员变量占用同一段内存空间。对于共用体变量,在某一时间点上,只能存储其某一成员的信息。
    结构体是由不同数据类型组成的一个结构,存储空间是所有成员需要的空间的总和,结构成员是同时存在的。而共同体则是不同数据类型共享一个存储空间,空间的大小是能容纳共同体成员中的最大者。共同体成员的值不可能同时存在。

    @ Mayuko

  • 相关阅读:
    首次使用随便写点哦
    js中call、apply和bind的区别
    前端的事件流以及事件处理程序
    javascript中数组的深拷贝的方法
    我的第一篇博客
    圆盘转动按钮-react native
    鼠标拖拽删除
    js基础 -----鼠标事件(按下 拖拽)
    清除浮动的几种常用方法
    VUE常见问题解决
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567540.html
Copyright © 2011-2022 走看看