Condividi tramite


free

rilascia o libera un blocco di memoria.

void free( 
   void *memblock 
);

Parametri

  • memblock
    Precedentemente blocco di memoria allocata da liberare.

Note

free la funzione libera un blocco di memoria (memblock) che in precedenza era stata allocata da una chiamata calloc, malloc, o realloc.Il numero di byte liberati equivale al numero di byte necessari quando il blocco è stato allocato (o ridistribuito, nel caso di realloc).se memblock viene NULL, il puntatore viene ignorato e free immediatamente restituisce.Il tentativo di liberare un puntatore non valido (un puntatore a un blocco di memoria che non è stato allocato da calloc, malloc, o realloc) può influire sulle richieste di allocazione successive e provocare errori.

Se si verifica un errore in liberare la memoria, errno è impostato con informazioni dal sistema operativo sulla natura dell'errore.Per ulteriori informazioni, vedere errno, _doserrno, _sys_errlist e _sys_nerr.

dopo che un blocco di memoria è stato liberato, _heapmin riduce la quantità di memoria nell'heap merging coinvolgono le aree inutilizzate e la del sistema operativo.La memoria liberata non viene rilasciata al sistema operativo viene ripristinata al pool libero ed è disponibile per l'allocazione di nuovo.

Quando l'applicazione viene collegata a una versione di debug delle librerie di runtime del linguaggio C, free viene risolta in _free_dbg.Per ulteriori informazioni su come l'heap è gestita durante il processo di debug, vedere L'heap di debug CRT.

free è contrassegnato __declspec(noalias)pertanto, la funzione viene sempre non per modificare le variabili globali.Per ulteriori informazioni, vedere noalias.

La memoria allocata con _malloca, utilizzare _freea.

Requisiti

Funzione

Intestazione di associazione

free

<definito> e <malloc.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

Vedere l'esempio relativo a report.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Allocazione di memoria

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea