Função realloc() na Biblioteca C:Como usar? Sintaxe e Exemplo
O que é realloc()?
realloc() é uma função da biblioteca C para adicionar mais tamanho de memória aos blocos de memória já alocados. O objetivo do realloc em C é expandir os blocos de memória atuais, deixando o conteúdo original como está. A função realloc() ajuda a reduzir o tamanho da memória alocada anteriormente por funções malloc ou calloc. realloc significa realocação de memória.
Sintaxe para realloc em C
ptr = realloc (ptr,newsize);
A instrução acima aloca um novo espaço de memória com um tamanho especificado na variável newsize. Após executar a função, o ponteiro retornará ao primeiro byte do bloco de memória. O novo tamanho pode ser maior ou menor que a memória anterior. Não podemos ter certeza se o bloco recém-alocado apontará para o mesmo local do bloco de memória anterior. A função realoc em C copiará todos os dados anteriores na nova região. Ele garante que os dados permanecerão seguros.
Por exemplo:
#include <stdio.h>
int main () {
char *ptr;
ptr = (char *) malloc(10);
strcpy(ptr, "Programming");
printf(" %s, Address = %u\n", ptr, ptr);
ptr = (char *) realloc(ptr, 20); //ptr is reallocated with new size
strcat(ptr, " In 'C'");
printf(" %s, Address = %u\n", ptr, ptr);
free(ptr);
return 0;
} Como usar realloc()
O programa abaixo em C demonstra como usar realloc em C para realocar a memória.
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, * ptr, sum = 0;
ptr = malloc(100);
if (ptr == NULL) {
printf("Error! memory not allocated.");
exit(0);
}
ptr = realloc(ptr,500);
if(ptr != NULL)
printf("Memory created successfully\n");
return 0;
} Resultado da reallocação em C exemplo:
Memory created successfully
Sempre que o realloc resulta em uma operação malsucedida, ele retorna um ponteiro nulo e os dados anteriores também são liberados.
Linguagem C
- Como usamos o molibdênio?
- Como usar o Azure DevOps de maneira eficaz?
- Como usar uma função em VHDL
- Como usar resina epóxi em um quebra-cabeça
- Função calloc() na biblioteca C com o programa EXEMPLO
- Função free() na biblioteca C:Como usar? Aprenda com o Exemplo
- Quando e como usar um extintor de incêndio
- Como usar um pulverizador de tinta com eficácia
- Quão fácil é usar um termistor ?!
- Como usar um moedor de corte