共有回帖数 0 个
-
下面例题:
#includestdio.h
int *p;
void s()
{
int n=25;
p=&n;
}
void main()
{
s();
printf("*p=%d:",*p);
}
按理说,应该会有错误才对,因为p指向的是n,而n在函数s()中,程序先调用s(),并创建n,并将p指向它,但是,当函数退出后,n就应该被删除了,所以p指向的地址已经不再存在了~~可是我用tc和vc++没有出错信息阿?!
但是如果在c++中
在s()函数最后加入打印出*P的话,那主函数打印出的*P就有问题了!!
可是在tc中作如此修改也没有问题阿!
这是怎么回事?
应该在局部变量被删除的时候p指向的地址就没了才对啊!
assiss兄弟,来吧!~
我一边看书,一边等你回答!所以你就不要叫我看书了,呵呵~~
楼主 2016-01-23 13:09 回复
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈 |
关于直线 |
版权声明 |
会员须知