Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

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

  1. Como usamos o molibdênio?
  2. Como usar o Azure DevOps de maneira eficaz?
  3. Como usar uma função em VHDL
  4. Como usar resina epóxi em um quebra-cabeça
  5. Função calloc() na biblioteca C com o programa EXEMPLO
  6. Função free() na biblioteca C:Como usar? Aprenda com o Exemplo
  7. Quando e como usar um extintor de incêndio
  8. Como usar um pulverizador de tinta com eficácia
  9. Quão fácil é usar um termistor ?!
  10. Como usar um moedor de corte