什么是内存泄漏,如何避免
内存泄漏:可以这么解释——程序刚跑起来,运行很OK。跑了几个小时,或者跑几天程序就崩溃了。
代码为解释如下:
while(1){
sleep(1);
int *p =malloc(1024); /*1、每一秒申请1M的空间。
2.malloc 申请的空间 ,程序不会主动释放,会造成内存泄漏。
3.在Linux中的话,程序结束后,系统会自动回收这个空间。*/
}
如何避免: 1、注意检查代码循环中有没有一直申请空间
2、及时合理得释放内存。
如何释放:
free(p);//用free释放内存
p=NULL;//这时p会变成野指针,要让p指向NULL;
什么是野指针?
指针没有初始化,例如:int * p;
初始化的指针为:int * p = NULL;
1 师承陈立臣。
作者:Prince Boy
欢迎大家借鉴学习,本文如有不足,欢迎指正! ↩︎