函数局部变量造成的野指针问题(编译器VS2010)
2014-09-20 11:43
281 查看
1. 变量地址如果在函数内容作为入参传给其他函数,此时由于还在本函数作用于内,空间不会被释放,不会产生野指针
2. 变量地址如果作为出参将某变量地址传出,如果该变量不是用malloc等函数申请空间在堆上,而是通过声明初始化在栈上,则只会将地址传出,而本来的内容会被释放掉,产生野指针。
3. 用malloc等函数申请在堆上的内容,传出指针后,对上的内容不会被释放掉,需要用free函数释放,不会产生野指针。
2. 变量地址如果作为出参将某变量地址传出,如果该变量不是用malloc等函数申请空间在堆上,而是通过声明初始化在栈上,则只会将地址传出,而本来的内容会被释放掉,产生野指针。
3. 用malloc等函数申请在堆上的内容,传出指针后,对上的内容不会被释放掉,需要用free函数释放,不会产生野指针。
相关文章推荐
- C++函数返回局部变量指针的问题
- C++函数返回局部变量指针的问题
- 返回函数局部变量的问题
- 函数不能返回局部指针变量
- C/C++函数返回局部变量相关问题
- 返回指向局部变量的指针或引用的问题
- 函数返回局部变量问题
- 函数返回局部变量的一些问题
- C 无返回值函数传入一级指针后造成的内存泄露问题
- 蚊子132 C++中函数局部变量指针是如何释放的呢?
- C++中函数返回局部变量引用的问题
- 返回局部变量指针的问题
- Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义
- 返回指向局部变量的指针或引用的带来的问题讨论
- C/C++中函数返回局部变量的问题
- effective C++笔记之条款31、32: 千万不要返回局部对象的引用,也不要返回函数内部用new初始化的指针所指对象的引用、尽可能地推迟变量的定义
- c语言中函数返回局部变量的指针(一些容易犯错的地方)
- 返回函数局部指针的问题
- Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义
- 杜绝返回函数内局部变量的指针或引用