Compartir a través de


free

Desasigna o libera un bloque de memoria.

void free( 
   void *memblock 
);

Parámetros

  • memblock
    Bloque de memoria previamente asignado se libere.

Comentarios

La función de free desasigna un bloque de memoria (memblock) que fue asignado previamente por una llamada a calloc, a malloc, o a realloc. El número de bytes liberados es equivalente al número de bytes solicitados cuando el bloque fue asignado (o reasignado, en el caso de realloc). Si memblock es NULL, se omite el puntero y free inmediatamente devuelve. Al intentar liberar un puntero no válido (puntero a un bloque de memoria que no fue asignado por calloc, a malloc, o a realloc) puede afectar a las solicitudes subsiguientes de asignación y producir errores.

Si se produce un error al liberar memoria, en errno se muestra información sobre la naturaleza del error proporcionada por el sistema operativo. Para obtener más información, vea errno, _doserrno, _sys_errlist y _sys_nerr.

Una vez liberado un bloque de memoria, _heapmin minimiza la cantidad de memoria disponible en el montón uniéndose regiones no usadas y soltándola a éstos de nuevo al sistema operativo. Memoria liberada que no se libera al sistema operativo se restaura el conjunto libre y está disponible para la asignación de nuevo.

Cuando la aplicación se vincula con una versión de depuración de las bibliotecas en tiempo de ejecución de C, free resuelve a _free_dbg. Para obtener más información sobre cómo la pila se administra durante el proceso de depuración, vea El montón de depuración de CRT.

free es __declspec(noalias)marcado, lo que significa que la función está garantizada para no modificar variables globales. Para obtener más información, vea noalias.

Liberar memoria asignada con _malloca, utilice _freea.

Requisitos

Función

Encabezado necesario

free

<stdlib.h> y <malloc.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Ejemplo

Vea el ejemplo para malloc.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Asignación de memoria

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea