Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

realloc() Functie in C Library:Hoe te gebruiken? Syntaxis en voorbeeld

Wat is realloc()?

realloc() is een functie van de C-bibliotheek om meer geheugen toe te voegen aan reeds toegewezen geheugenblokken. Het doel van realloc in C is om de huidige geheugenblokken uit te breiden terwijl de originele inhoud blijft zoals deze is. De functie realloc() helpt om de omvang van eerder toegewezen geheugen te verkleinen door malloc- of calloc-functies. realloc staat voor reallocation of memory.

Syntaxis voor realloc in C

ptr = realloc (ptr,newsize);

De bovenstaande instructie wijst een nieuwe geheugenruimte toe met een gespecificeerde grootte in de variabele newsize. Na het uitvoeren van de functie wordt de aanwijzer teruggezet naar de eerste byte van het geheugenblok. De nieuwe grootte kan groter of kleiner zijn dan het vorige geheugen. We kunnen er niet zeker van zijn of het nieuw toegewezen blok naar dezelfde locatie zal wijzen als die van het vorige geheugenblok. De realloc-functie in C kopieert alle eerdere gegevens in de nieuwe regio. Het zorgt ervoor dat gegevens veilig blijven.

Bijvoorbeeld:

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

Hoe realloc() te gebruiken

Het onderstaande programma in C laat zien hoe u realloc in C kunt gebruiken om het geheugen opnieuw toe te wijzen.

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

    }

Resultaat van de realloc in C-voorbeeld:

Memory created successfully

Telkens wanneer de realloc resulteert in een mislukte bewerking, retourneert het een null-pointer en worden de eerdere gegevens ook vrijgegeven.


C Taal

  1. Hoe gebruiken we molybdeen?
  2. Hoe effectief Azure DevOps gebruiken?
  3. Een onzuivere functie gebruiken in VHDL
  4. Een functie gebruiken in VHDL
  5. Epoxyhars op een puzzel gebruiken
  6. calloc() Functie in C-bibliotheek met programma VOORBEELD
  7. free() Functie in C-bibliotheek:Hoe te gebruiken? Leer met voorbeeld
  8. Wanneer en hoe een brandblusser te gebruiken
  9. Effectief gebruik van een verfspuit
  10. Hoe gemakkelijk is het om een ​​thermistor te gebruiken?!
  11. Hoe een snijmolen te gebruiken