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 en liberar memoria, errno se establece con la información del sistema operativo de la naturaleza del error.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, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

Asignación de memoria

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea