Sdílet prostřednictvím


free

Zruší přidělení nebo uvolnění bloku paměti.

void free( 
   void *memblock 
);

Parametry

  • memblock
    Dříve přidělen blok paměti, které má být uvolněno.

Poznámky

free Funkce zruší přidělení blok paměti (memblock), již bylo přiděleno pomocí volání calloc, malloc, nebo realloc.Je ekvivalentní počet bajtů po bloku byla přidělena uvolněné bajtů (nebo reallocated u realloc).Pokud memblock je NULL, ukazatel je ignorován a free okamžitě vrátí.Pokus o neplatný ukazatel (ukazatel na blok paměti, která nebyla přidělena podle calloc, malloc, nebo realloc) může ovlivnit následné přidělování požadavků a způsobit chyby.

Pokud dojde k chybě v uvolnění paměti, errno je nastavena s informacemi z operačního systému na povaze chyby.Další informace naleznete v tématu Kód chyby, _doserrno, _sys_errlist a _sys_nerr.

Po uvolnění bloku paměti _heapmin minimalizuje velikost volné paměti haldy coalescing nepoužívané oblastí a jejich uvolněním zpět do operačního systému.Uvolněné paměti, která není uvolněna na operační systém obnoven do fondu volných médií a je k dispozici pro přidělení znovu.

Aplikace propojen s ladicí verzi c knihoven run-time free převede na _free_dbg.Další informace o způsobu je během ladění procesu správy haldy, viz The CRT ladění haldy.

freeje označena __declspec(noalias), což znamená, že funkce je zaručena upravit globální proměnné.Další informace naleznete v noalias.

Uvolněte paměť přidělenou s _malloca, použijte _freea.

Požadavky

Function

Požadované záhlaví

free

<stdlib.h> a <malloc.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

Viz příklad pro malloc.

Ekvivalent v rozhraní .NET Framework

Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.

Viz také

Referenční dokumentace

Přidělení paměti

_alloca

calloc

MALLOC

realloc

_free_dbg

_heapmin

_freea