Compartilhar via


livre

Desaloca ou libera um bloco de memória.

void free( 
   void *memblock 
);

Parâmetros

  • memblock
    Anteriormente alocado o bloco de memória para ser liberado.

Comentários

O free função Desaloca um bloco de memória (memblock) que foi anteriormente alocado por uma chamada para calloc, malloc, ou realloc.O número de bytes liberadas é equivalente ao número de bytes solicitada quando o bloco foi alocado (ou realocada, no caso de realloc).Se memblock é NULL, o ponteiro é ignorado e free retorna imediatamente.Tentar liberar um ponteiro inválido (um ponteiro para um bloco de memória que não foi alocado pelo calloc, malloc, ou realloc) podem afetar as solicitações de alocação subseqüentes e causar erros.

Se ocorrer um erro em liberar a memória, errno está definida com informações do sistema operacional sobre a 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, concentração as regiões não utilizadas e liberando-os para o sistema operacional.Memória liberada não é liberada para o sistema operacional é restaurada para o pool livre e está disponível para alocação novamente.

Quando o aplicativo está vinculado com uma versão de depuração das bibliotecas de tempo de execução C, free resolve para _free_dbg.Para obter mais informações sobre como a pilha é gerenciada durante o processo de depuração, consulte A pilha de depuração CRT.

freeestá marcado como __declspec(noalias), que significa que a função é garantida, não 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 obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

Exemplo

Consulte o exemplo para malloc.

Equivalência do .NET Framework

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

Consulte também

Referência

Alocação de memória

_alloca

calloc

malloc

possível realocar

_free_dbg

_heapmin

_freea