Compartilhar via


free

Desaloca ou libera um bloco de memória.

void free( 
   void *memblock 
);

Parâmetros

  • memblock
    Bloco de memória alocado anteriormente seja liberado.

Comentários

A função de free desaloca um bloco de memória (memblock) que é atribuído anteriormente por uma chamada a calloc, a malloc, ou a realloc. O número de bytes liberados equivale ao número de bytes necessários quando o pacote foi atribuído (ou realocado, no caso de realloc). Se memblock é NULL, o ponteiro será ignorado e free retorna imediatamente. Tente liberar um ponteiro inválido (um ponteiro para um bloco de memória que não é atribuído por calloc, a malloc, ou a realloc) pode afetar solicitações subsequentes de alocação e causar erros.

Se ocorrer um erro em liberar a memória, errno é definido com informações do sistema operacional na natureza da falha. Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Depois que um bloco de memória foi liberado, _heapmin minimiza a quantidade de memória livre no heap coalescendo as regiões não usado e liberação dos de volta ao sistema operacional. A memória liberada que não é liberada para o sistema operacional for restaurada para o pool livre e está disponível para alocação novamente.

Quando o aplicativo é vinculado a uma versão de depuração das bibliotecas de tempo de execução C, free resolve a _free_dbg. Para obter mais informações sobre como o heap é gerenciado durante o processo de depuração, consulte O heap de depuração do CRT.

free é marcado __declspec(noalias), o que significa que a função não é garantida para modificar as variáveis globais. Para obter mais informações, consulte noalias.

Para liberar a memória alocada com _malloca, use _freea.

Requisitos

Função

Cabeçalho necessário

free

<stdlib.h> e <malloc.h>

Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.

Exemplo

Consulte o exemplo de malloc.

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

Consulte também

Referência

Alocação de memória

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea