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 errno, _doserrno, _sys_errlist, and _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.