C语言指针使用经验总结之悬垂指针
2014-05-12 19:45
190 查看
如果将作用域A的变量地址赋给在作用域B的变量指针。当A中相应变量的生存周期结束后,会使B的指针出现“悬垂指针”的现象(悬垂指针指向曾经存放对象的内存,但该对象已经不再存在了。悬垂指针往往导致程序错误,而且很难检测出来。)如下代码:
输出为:
*p= 10
一秒钟后,fun()中的i变量的存储空间被释放,p所指对象的值为:
*p= 1245056
Press any key to continue
可见,fun()运行完一秒钟后,p成为悬垂指针。
#include<iostream> #include <windows.h> using namespace std; int *p=NULL; void fun() { int i=10; p=&i; } void main() { fun(); cout<<"*p= "<<*p<<endl; Sleep(1000); cout<<“一秒钟后,fun()中的i变量的存储空间被释放,p所指对象的值为:"<<endl<<"*p= "<<*p<<endl; }
输出为:
*p= 10
一秒钟后,fun()中的i变量的存储空间被释放,p所指对象的值为:
*p= 1245056
Press any key to continue
可见,fun()运行完一秒钟后,p成为悬垂指针。
相关文章推荐
- C语言指针使用经验总结之悬垂指针
- C语言指针学习经验总结浅谈
- C语言指针使用总结
- 指针使用经验总结
- c++指针使用经验总结之悬垂指针
- [转]C语言指针学习经验总结浅谈
- C语言中const与指针使用方法总结
- C语言指针学习经验总结
- C语言中函数指针的三种使用方法总结
- C语言指针学习经验总结
- C语言指针使用总结
- 经验总结26--EF6多网站使用一个数据库
- 水晶报表使用经验总结
- 提高书写效率--editplus使用经验总结
- C语言_指针使用
- sqoop使用经验总结及问题汇总
- macOS 使用经验总结
- Berkeley DB 使用经验总结
- C语言中的指针和内存泄漏(无数次的失败和教训换来的经验呀!)
- 使用jmeter进行APP接口测试经验总结