free()

De ArduWiki
Revisión del 09:20 15 jul 2018 de Kike GL (Discusión | contribuciones) (Ejemplo)

Saltar a: navegación, buscar

Descripción

Desasignar bloque de memoria.

Un bloque de memoria asignado previamente por una llamada a malloc, Calloc o realloc está desasignado, volviendo a estar disponible para otras asignaciones.

Sintaxis

free(ptr);

Parámetros

ptr
Puntero a un bloque de memoria previamente asignado con malloc, Calloc o realloc.

Retorno

Nada

Advertencias

  • Si ptr no apunta a un bloque de memoria asignado con las funciones malloc, Calloc o realloc, causa un comportamiento indefinido.
  • Si ptr es un puntero nulo, la función no hace nada.
  • Tenga en cuenta que esta función no cambia el valor de ptr en sí, por lo tanto, todavía apunta a la misma ubicación (ahora no válida).

Ejemplo

void funcion(){
  int * buffer1, * buffer2, * buffer3;
  buffer1 = (int*) malloc(100* sizeof(int));
  buffer2 = (int*) calloc(100, sizeof(int));
  buffer3 = (int*) realloc(buffer2, 500*sizeof(int));
  free (buffer1);
  free (buffer3);
}

Vea también

Referencias