博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
联合体以及如何调出内存窗口
阅读量:6574 次
发布时间:2019-06-24

本文共 714 字,大约阅读时间需要 2 分钟。

联合体相关:

其实联合体这块儿基本上跟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

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

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/letben/p/5243375.html

你可能感兴趣的文章
计算机网络期末复习资料
查看>>
系统移植总结
查看>>
WiresShark 图解教程1
查看>>
无法识别的属性“decompressionEnabled”处理方法
查看>>
4. Jmeter主界面的介绍
查看>>
TYVJ1467 通往聚会的道路
查看>>
包信封问题 以及 最长有序子序列问题
查看>>
【转载】Java NIO学习
查看>>
【旅行】1月17日镇江自驾游
查看>>
MySQL军规
查看>>
解决国内NPM安装依赖速度慢问题
查看>>
js进阶 14-6 $.ajax()方法如何使用
查看>>
P1174 打砖块
查看>>
java常见面试题及答案 1-10(基础篇)
查看>>
编写程序,输入一个N,返回角谷变换(达到1所需)的次数
查看>>
js的一些注意点
查看>>
PowerShell 方式部署Sharepoint Solution
查看>>
Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
查看>>
文件 md5 查看 命令
查看>>
数据结构实验之栈三:后缀式求值
查看>>