English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Função do C

Array do C

Ponteiro do C

String do C

Estrutura de linguagem C

Arquivo de linguagem C

Outro C

Manual de referência do C

Uso e exemplo da função free() da biblioteca C

Biblioteca padrão do C - <stdlib.h>

Função da biblioteca C void free(void *ptr) Liberar o espaço de memória alocado anteriormente por calloc, malloc ou realloc.

Declaração

Aqui está a declaração da função free().

void free(void *ptr)

Parâmetro

  • ptr -- Ponteiro que aponta para um bloco de memória a ser liberado, que foi alocado anteriormente através de chamadas a malloc, calloc ou realloc. Se o parâmetro passado for um ponteiro nulo, nenhuma ação será executada.

Retorno

Esta função não retorna nenhum valor.

Exemplo online

O seguinte exemplo demonstra o uso da função free().

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
   char *str;
   /* Alocação inicial de memória */
   str = (char *) malloc(15);
   strcpy(str, "w3codebox");
   printf("String = %s,  Endereço = %p\n", str, str);
   /* Realocar memória */
   str = (char *) realloc(str, 25);
   strcat(str, ".com");
   printf("String = %s,  Endereço = %p\n", str, str);
   /* Liberar memória alocada */
   free(str);
   return(0);
}

Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:

String = w3codebox, Endereço = 0x7fe4e4c02b10
String = oldtoolbag.com, Endereço = 0x7fe4e4c02b10

Biblioteca padrão do C - <stdlib.h>