📜  什么是内存泄漏?我们如何避免?

📅  最后修改于: 2021-05-20 05:19:57             🧑  作者: Mango

当程序员在堆中创建内存而忘记删除它时,就会发生内存泄漏。
对于守护程序和服务器之类的程序而言,内存泄漏是特别严重的问题,根据定义,它们永远不会终止。

/* Function with memory leak */
#include 
  
void f()
{
   int *ptr = (int *) malloc(sizeof(int));
  
   /* Do some work */
  
   return; /* Return without freeing ptr*/
}

为避免内存泄漏,在不再需要堆上分配的内存时,应始终将其释放。

/* Function without memory leak */
#include ;
  
void f()
{
   int *ptr = (int *) malloc(sizeof(int));
  
   /* Do some work */
  
   free(ptr);
   return;
}
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。