社区
C++ 语言
帖子详情
怎么知道一个变量在内存中的位置(区)
nlfd2007
2008-04-09 10:04:53
最近在学习内存分配方面的知识,涉及到了内存的几个区:代码区,数据区(堆,栈等)。我写了一个程序,想知道程序中某个变量是在栈中还是在堆中,或者在全局存储区、代码区,那我应该通过什么方法来确认他们到底在内存的哪个区呢,最好不要去看汇编代码,请各位高人指点一下,谢谢。
...全文
162
5
打赏
收藏
怎么知道一个变量在内存中的位置(区)
最近在学习内存分配方面的知识,涉及到了内存的几个区:代码区,数据区(堆,栈等)。我写了一个程序,想知道程序中某个变量是在栈中还是在堆中,或者在全局存储区、代码区,那我应该通过什么方法来确认他们到底在内存的哪个区呢,最好不要去看汇编代码,请各位高人指点一下,谢谢。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinwei1984
2008-04-10
打赏
举报
回复
& 取地址,
有些是挨着存放的,就可以推测是哪个区了嘛。。。
qmm161
2008-04-10
打赏
举报
回复
link 的时候把 map 文件输出,你就知道了,非常清楚!
至于怎么设置 link 你 google 一下就知道了
nlfd2007
2008-04-09
打赏
举报
回复
但有些复杂的我就看不出来了,所以我想知道有什么方法可以确认一下吗,就象可以用typeid来确认类型一样。这个变量所属的区不知怎么搞,或者说通过什么命令/代码能得出堆区和栈区内所存储的值,非常感谢
jieleiping
2008-04-09
打赏
举报
回复
你自己定义的你应该直到在什么区撒。。。
至于内存地址,完全可以用&得到嘛。。。
hastings
2008-04-09
打赏
举报
回复
这个看看就看出来了.
相关推荐
C语言
内存
管理机制精讲-高手必修课视频教程
在企业级项目开发
中
一个
非常重要的设计就是如何有效地管理
内存
资源。在C语言
中
,关于
内存
管理的知识点比较多,如函数
变量
、作用域、指针、堆 、栈、 常量
区
、全局静态
区
、要想真正掌握和理解C语言,就必须先精通C语言
内存
管理机制。
java
中
局部
变量
、实例
变量
和静态
变量
在方法
区
、栈
内存
、堆
内存
中
的分配
Java
中
的
变量
根据不同的标准可以分为两类,以其引用的数据类型的不同来划分可分为“原始数据类型
变量
和引用数据类型
变量
”,以其作用范围的不同来
区
分可分为“局部
变量
,实例
变量
和静态
变量
”。 根据“Java
中
的
变量
与数据类型”
中
的介绍,“
变量
是在
内存
中
分配的保留
区
域的名称。换句话说,它是
一个
内存
位置
的名称”,也就是说我们通过这个
变量
名字就可以找到
一个
指向这个
变量
所引用的数据的
内存
指针,根据
变量
的类型我们可以
知道
这个指针之后的几个字节里存储了这个
变量
所引用的数据。 所以,了解
变量
在方法
区
、栈
内存
、堆
内存
中
的分配要了
变量
在
内存
中
的存储
位置
以前一直对
变量
的存储
位置
有些模糊,今天整理下,让以后的编程思路更清晰。 C/C++
中
,
变量
分为: 1、全局
变量
2、静态全局
变量
3、静态局部
变量
4、局部
变量
变量
在
内存
中
的存储
位置
包括: 1、全局(静态)存储
区
2、栈 3、堆 4、自由存储
区
(和堆类似) 5、常量
区
变量
和存储
位置
的关系: 1、全局
变量
、静态全局
变量
和静态局部
变量
都存储在全局(静态)存储
区
; 2、局
C语言---整形在
内存
中
的存储
目录 1.整形家族 2.
变量
的创建 3.整形在
内存
中
的存储 3.1原码、反码、补码 3.2 大小端介绍 3.3 写程序判断编程环境是大端还是小端存储 1.整形家族 2.
变量
的创建 C语言
中
,
变量
的创建是需要在
内存
中
开辟空间的(开辟空间的大小是根据不同的类型而决定的),而
内存
中
空间类型主要分为三类:栈
区
,堆
区
,静态
区
。 不同类型
变量
在
内存
中
开辟的空间
位置
如下图: 3.整形在
内存
中
的存储 既然已经
知道
变量
的创建是要在
内存
中
开...
C语言
中
变量
分类和
内存
分
区
文章目录
变量
的分类和
内存
分
区
内存
分
区
变量
的分类
变量
的分类和
内存
分
区
内存
分
区
到目前为止,我们
知道
学习了全局
变量
和局部
变量
并且已经
知道
全局
变量
是在
内存
中
的全局
区
,局部
变量
在
内存
中
的栈
区
内存
是分
区
的,简单而言,
内存
分为三个
区
域: 全局
区
:全局
变量
、代码机器码等放在此
区
域。全局
区
的大小由程序本身代码以及全局
变量
的大小决定。 栈
区
: 存放参数、局部
变量
、返回地址等和函数有关的内容。 堆
区
:除了全...
发帖
C++ 语言
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
6.3w+
社区成员
25.0w+
社区内容
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2008-04-09 10:04
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下