标题:撤销某一变量在内存中的实际动作到底是什么?
取消只看楼主
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
 问题点数:0 回复次数:2 
撤销某一变量在内存中的实际动作到底是什么?

在返回指针类型的函数中定义自动变量,然后返回这个变量的值给主函数中某相应指针,则会发生错误。我想问的是:

在调用完一个函数之后,编译器是怎么样撤销其自动变量的,

是断开变量名与内存地址的联系或是断开变量名与内存的联系然后再撤销原来内存的内容呢?

总而言之,撤销某一变量在内存中的实际动作到底是什么?

搜索更多相关主题的帖子: 内存 变量 动作 撤销 
2004-09-19 19:05
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
得分:0 

"pop操作把数据弹出"

是怎么样把数据弹出的?

"但是有些编译器,在子函数退出的时候,把弹出栈的内容都填为0。那么当你访问地址为0的变量的时候,将会弹出“非法访问”的对话框,然后强迫关闭该程序。"

那个是 内容和地址都为0吗?

2004-09-25 10:53
cpp
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2004-9-3
得分:0 

为什么说是“数据向上移动"呢?

我在课本上看到的只是指向栈顶的指针在移动啊

是不是就是说:撤消一个变量就是在栈区弹出这个变量所对应的数据,此时变量所对应的地址及在该地址中所存内容都被取消,

而当被调用函数结束后,所有该函数的局部变量都被撤消

2004-09-26 16:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-5474-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.812653 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved