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

  • 相关阅读:
    c语言 判断文件是否存在
    lua 二进制函数使用
    linux sort 多列正排序,倒排序
    free命令学习 输出理解
    nginx 配置实现逻辑预算
    nginx 使用ctx实现数据共享,修改上下文
    lua中的数学库
    tornado文件上传实例
    ajax技术初识与应用
    web框架--XSS攻击和CSRF请求伪造
  • 原文地址:https://www.cnblogs.com/mayuko/p/4567540.html
Copyright © 2011-2022 走看看