Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Fonction realloc() dans la bibliothèque C :comment l'utiliser ? Syntaxe et exemple

Qu'est-ce que realloc() ?

realloc() est une fonction de la bibliothèque C pour ajouter plus de taille de mémoire aux blocs de mémoire déjà alloués. Le but de la réallocation en C est d'étendre les blocs de mémoire actuels tout en laissant le contenu d'origine tel qu'il est. La fonction realloc() aide à réduire la taille de la mémoire précédemment allouée par les fonctions malloc ou calloc. realloc signifie réallocation de mémoire.

Syntaxe pour réallouer en C

ptr = realloc (ptr,newsize);

L'instruction ci-dessus alloue un nouvel espace mémoire avec une taille spécifiée dans la variable newsize. Après l'exécution de la fonction, le pointeur sera renvoyé au premier octet du bloc de mémoire. La nouvelle taille peut être plus grande ou plus petite que la mémoire précédente. Nous ne pouvons pas être sûrs que le bloc nouvellement alloué pointera vers le même emplacement que celui du bloc de mémoire précédent. La fonction realloc en C copiera toutes les données précédentes dans la nouvelle région. Il garantit que les données resteront en sécurité.

Par exemple :

#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;
}

Comment utiliser realloc()

Le programme ci-dessous en C montre comment utiliser realloc en C pour réallouer la mémoire.

#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;

    }

Résultat de l'exemple de réallocation en C :

Memory created successfully

Chaque fois que la réallocation aboutit à une opération infructueuse, elle renvoie un pointeur nul et les données précédentes sont également libérées.


Langue C

  1. Comment utilisons-nous le molybdène?
  2. Comment utiliser efficacement Azure DevOps ?
  3. Comment utiliser de la résine époxy sur un puzzle
  4. Fonction calloc() dans la bibliothèque C avec l'EXEMPLE de programme
  5. Fonction free() dans la bibliothèque C :comment l'utiliser ? Apprendre avec l'exemple
  6. Quand et comment utiliser un extincteur
  7. Comment utiliser efficacement un pulvérisateur de peinture
  8. Est-il facile d'utiliser une thermistance ? !
  9. Comment utiliser une meuleuse de coupe