小弟我在子函数中声明了一个指针,并没有使用,子函数运行完后,指针所占的内存能否自动释放
我在子函数中声明了一个指针,并没有使用,子函数运行完后,指针所占的内存能否自动释放。
我在子函数中声明了一个指针,并没有使用,子函数运行完后,指针所占的内存能否自动释放。
------解决方案--------------------
不能..
如果不用DELETE..
要到程序结束时,才释放..
------解决方案--------------------
没有 new 没有malloc 就不用理会
------解决方案--------------------
声明了一个指针,是否malloc了指针指向的内存?没有则没什么问题.
------解决方案--------------------
要分清楚是指针变量自身占有的内存空间,
还是它所指向的内存空间(包括堆上, 栈上, 全局数据区,静态数据区)
如果仅仅是声明了一个指针变量 如 int *p
指针本身所占有的4字节空间会和一般局部变量一样释放, 只是说如果你使用它
在堆中分配了一段内存空间,如p = new int[20], 这这段指针指向的内存空间必须由
delete[] p来释放。。。
------解决方案--------------------
new来的用delete放掉.
malloc来的用free放掉.
显式分配显式释放
------解决方案--------------------
指针变量本身是在函数的栈空间里分配的,不需要释放
如果指针有malloc new,指针所指向的空间是堆内存的,要释放.
我在子函数中声明了一个指针,并没有使用,子函数运行完后,指针所占的内存能否自动释放。
------解决方案--------------------
不能..
如果不用DELETE..
要到程序结束时,才释放..
------解决方案--------------------
没有 new 没有malloc 就不用理会
------解决方案--------------------
声明了一个指针,是否malloc了指针指向的内存?没有则没什么问题.
------解决方案--------------------
要分清楚是指针变量自身占有的内存空间,
还是它所指向的内存空间(包括堆上, 栈上, 全局数据区,静态数据区)
如果仅仅是声明了一个指针变量 如 int *p
指针本身所占有的4字节空间会和一般局部变量一样释放, 只是说如果你使用它
在堆中分配了一段内存空间,如p = new int[20], 这这段指针指向的内存空间必须由
delete[] p来释放。。。
------解决方案--------------------
new来的用delete放掉.
malloc来的用free放掉.
显式分配显式释放
------解决方案--------------------
指针变量本身是在函数的栈空间里分配的,不需要释放
如果指针有malloc new,指针所指向的空间是堆内存的,要释放.