什么是内存泄漏,如何避免

什么是内存泄漏,如何避免

内存泄漏:可以这么解释——程序刚跑起来,运行很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


  1. 欢迎大家借鉴学习,本文如有不足,欢迎指正! ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑桃鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值