内存泄露
来源:互联网 发布:婚礼喜糖 知乎 编辑:程序博客网 时间:2024/04/20 05:39
如果动态分配的内存在程序结束后一直未释放,就会出现内存泄露。一般常说的内存泄露是指堆内存的泄露。堆内存是指程序从堆中分配的大小任意的使用完后必须显式释放的内存。应用程序一般使用malloc、new等函数从堆中分配到一块内存,使用完后,程序必须相应地调用free或delete释放该内存块,否则,这块内存就不能被再次使用,就说这块内存泄露了。
如下所示的代码:
void GetMemory(char **p,int num)
{
*p=(char*)malloc(num);
}
void main()
{
char *str=NULL;
GetMemory(&str,100);
strcpy(str,"hello");
printf(str);
}
这段代码能够实现内存的分配,但是这样会导致内存泄露,应在程序结束前加上
free(str);
str=NULL;
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- 内存泄露
- code iconv
- 金山卫士界面源码解读及界面库分离(1)
- linux c/c++ 第一次使用GDB调试小小程序
- 如何处理JSON中的特殊字符
- Perl 闭包模拟类实现二叉树
- 内存泄露
- MFC 获得系统时间的方法
- 金山卫士界面源码解读及界面库分离(附录) --你问我答
- MKMapView上适应所有的坐标
- 在一个Activity中 关闭指定的Activity
- boost::bind介绍
- oracle中some ,any ,all总结
- oracle创建表空间语句
- Java数据类型和MySql数据类型对照表