Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

realloc()-Funktion in der C-Bibliothek:Wie verwenden? Syntax &Beispiel

Was ist realloc()?

realloc() ist eine Funktion der C-Bibliothek zum Hinzufügen von mehr Speichergröße zu bereits zugewiesenen Speicherblöcken. Der Zweck von realloc in C besteht darin, aktuelle Speicherblöcke zu erweitern, während der ursprüngliche Inhalt unverändert bleibt. Die Funktion realloc() hilft, die Größe des zuvor zugewiesenen Speichers durch malloc- oder calloc-Funktionen zu reduzieren. realloc steht für Reallocation of Memory.

Syntax für realloc in C

ptr = realloc (ptr,newsize);

Die obige Anweisung weist einen neuen Speicherplatz mit einer bestimmten Größe in der Variablen newsize zu. Nach Ausführung der Funktion wird der Zeiger auf das erste Byte des Speicherblocks zurückgeführt. Die neue Größe kann größer oder kleiner als der vorherige Speicher sein. Wir können nicht sicher sein, ob der neu zugeordnete Block auf dieselbe Stelle zeigt wie der vorherige Speicherblock. Die realloc-Funktion in C kopiert alle vorherigen Daten in die neue Region. Es stellt sicher, dass die Daten sicher bleiben.

Zum Beispiel:

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

Wie man realloc() verwendet

Das folgende Programm in C demonstriert, wie man realloc in C verwendet, um den Speicher neu zuzuweisen.

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

    }

Ergebnis des realloc im C-Beispiel:

Memory created successfully

Immer wenn die realloc zu einer nicht erfolgreichen Operation führt, gibt sie einen Nullzeiger zurück und die vorherigen Daten werden ebenfalls freigegeben.


C Sprache

  1. Wie verwenden wir Molybdän?
  2. Wie kann man Azure DevOps effektiv nutzen?
  3. So verwenden Sie eine Funktion in VHDL
  4. Verwendung von Epoxidharz in einem Puzzle
  5. calloc()-Funktion in der C-Bibliothek mit Programm BEISPIEL
  6. free()-Funktion in der C-Bibliothek:Wie verwenden? Lernen Sie mit Beispiel
  7. Wann und wie man einen Feuerlöscher benutzt
  8. So verwenden Sie ein Farbspritzgerät effektiv
  9. Wie einfach ist es, einen Thermistor zu verwenden?!
  10. So verwenden Sie einen Cutter Grinder