Memory Leak

Memory leak occurs when programmers create a memory in heap and forget to delete it.
Memory leaks are particularly serious issues for programs like daemons and servers which by definition never terminate.

/* Function with memory leak */
#include <stdlib.h> 

void f() 
{ 
int *ptr = (int *) malloc(sizeof(int)); 

/* Do some work */

return; /* Return without freeing ptr*/
} 

To avoid memory leaks, memory allocated on heap should always be freed when no longer needed.

/* Function without memory leak */
#include <stdlib.h>; 

void f() 
{ 
int *ptr = (int *) malloc(sizeof(int)); 

/* Do some work */

free(ptr); 
return; 
} 

 

posted @ 2020-04-30 19:08  Jasper2003  阅读(142)  评论(0编辑  收藏  举报