zoukankan      html  css  js  c++  java
  • 联合体以及如何调出内存窗口

    联合体相关:

    其实联合体这块儿基本上跟struct用法是相同的,只不过联合体这里公用一块内存。

    为了合理演示其所有内容,需要调用一个内存窗口。这个在查找的时候还是费了一些功夫的。来分享一下。

    这样直接执行根本看不到具体的执行过程。

    可是怎么才能看到 他们共用一块内存呢?

    //从当前窗口是没有办法查看内存的,程序一定要跑起来~才能查看。可是 跑到一半怎么才能查看呢!?~所以在 vs2010及以上版本,调用内存窗口很大的前提就是,为你正在进行的程序设置断点:

    如下图:

    然后运行程序。

    进入当前界面。

    摁下F11单步运行。

    然后发现不管是在vs编译环境还是在 我们的小窗题里面,都看到了程序的下一步运行,现在打出来了联合体的三个地址。下一步应该是到内存窗口中进行查看了。

     

    在运行中:点开调试下拉菜单:

    然后点击 -> 窗口-> 内存 -> 内存11)。

    然后就能看到左下角里面出来了我们想要的窗口:

    这样内存窗口就出现了。

    因为我们的输出窗口连显示得是:

     

    所以我们在 内存里面输入这个地址:

    然后敲击回车。就能看到我们输出的结果:

    开始执行 union myUnion u;

    u得到了一块空间,首地址是 0x0034FABC,长度为8个字节。

    然后是 u.a = 0x1234

    下面的内存显示得是:

    34 12 00 00

    然后 我们执行 u.b = 1l

    内存显示的是:

    01 12 00 00

    然后打印联合体所占内存大小:

    4

    然后输出 他们每个子变量的地址,发现联合体中,他们共用一块地址,并且在同一个地方进行值的修改。

     

     

     

     

     

     

     

     

  • 相关阅读:
    96. Unique Binary Search Trees1和2
    576. Out of Boundary Paths
    686. Repeated String Match判断字符串重复几次可以包含另外一个
    650. 2 Keys Keyboard
    Penetration Test
    Penetration Test
    Penetration Test
    Penetration Test
    CISSP 考试经验分享
    2019-2020 ICPC Asia Hong Kong Regional Contest J—Junior Mathematician 数位dp
  • 原文地址:https://www.cnblogs.com/letben/p/5243375.html
Copyright © 2011-2022 走看看