免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1328 | 回复: 3
打印 上一主题 下一主题

求教:一个简单的指针问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-01 16:39 |只看该作者 |倒序浏览
#include <iostream.h>
int * get(){
        int a=100;
        return &a;
}
void anotherFun(char*str){
        cout<<str<<endl;

}
void main(){
        int *p=get();
       
            cout<<*p<<endl;//the result is 100 不懂,函数返回时,空间不是被删除了吗?在临时区存放的也应该是一个指针的copy而已吧?怎么还会输出100呢?
        anotherFun("it is another function");
        cout<<*p<<endl;//the result is random number   为什么又变化了?
}

论坛徽章:
0
2 [报告]
发表于 2006-06-01 16:43 |只看该作者
空间恰好没有被其它人覆盖,所以还有数值。

论坛徽章:
0
3 [报告]
发表于 2006-06-01 16:45 |只看该作者
指针不是删除,应该是告诉系统这块内存以后可以重新分配,在系统没有重新占有或分配这块内存区的时候,原有的数据还是保存的,它应该是一个野指针,所以我们以前用指针的时候FREE掉后,最好把指针重新指向NULL

论坛徽章:
0
4 [报告]
发表于 2006-06-01 20:48 |只看该作者
恩,多谢各位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP