¿Qué es la fuga de memoria? ¿Cómo podemos evitar?

La fuga de memoria ocurre cuando los programadores crean una memoria en el montón y se olvidan de eliminarla. 

Las consecuencias de la fuga de memoria es que reduce el rendimiento de la computadora al reducir la cantidad de memoria disponible. Eventualmente, en el peor de los casos, se puede asignar demasiada memoria disponible y todo o parte del sistema o dispositivo deja de funcionar correctamente, la aplicación falla o el sistema se ralentiza enormemente.

C

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

C

/* Function without memory leak */
#include <stdlib.h>
 
void f()
{
   int *ptr = (int *) malloc(sizeof(int));
 
   /* Do some work */
 
   free(ptr);
   return;
}

C++

// C Program to check whether the memory is
// freed or not
 
#include <iostream>
#include <cstdlib>
using namespace std;
 
int main()
{
  int* ptr;
  ptr = (int*) malloc(sizeof(int));
   
  if (ptr == NULL)
    cout << "Memory Is Insuffficient\n";
  else
  {
    free(ptr);
    cout << "Memory Freed\n";
  }
}
 
// This code is contributed by sarajadhav12052009

C

// C Program to check whether the memory is
// freed or not
 
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
  int* ptr;
  ptr = (int*) malloc(sizeof(int));
   
  if (ptr == NULL)
    printf("Memory Is Insuffficient\n");
  else
  {
    free(ptr);
    printf("Memory Freed\n");
  }
}
 
// This code is contributed by sarajadhav12052009

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *