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

malloc() Funktion in der C-Bibliothek mit BEISPIEL

Was ist malloc in C?

Die Funktion malloc() steht für Memory Allocation. Es ist eine Funktion, die verwendet wird, um einen Speicherblock dynamisch zuzuweisen. Es reserviert Speicherplatz der angegebenen Größe und gibt den Nullzeiger zurück, der auf die Speicherstelle zeigt. Der zurückgegebene Zeiger ist normalerweise vom Typ void. Das bedeutet, dass wir jedem Zeiger die malloc-Funktion zuweisen können.

Syntax

ptr = (cast_type *) malloc (byte_size);

Hier,

Example: ptr = (int *) malloc (50)

Bei erfolgreicher Ausführung dieser Anweisung wird ein Speicherplatz von 50 Byte reserviert. Die Adresse des ersten Bytes des reservierten Speicherplatzes wird dem Zeiger ptr vom Typ int.

zugewiesen

Betrachten Sie ein weiteres Beispiel einer Malloc-Implementierung:

#include <stdlib.h>
int main(){
int *ptr;
ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */
    if (ptr != NULL) {
      *(ptr + 5) = 480; /* assign 480 to sixth integer */
      printf("Value of the 6th integer is %d",*(ptr + 5));
    }
}

Ausgabe:

Value of the 6th integer is 480

  1. Beachten Sie, dass sizeof(*ptr) wurde anstelle von sizeof(int) verwendet um den Code robuster zu machen, wenn die *ptr-Deklaration später in einen anderen Datentyp umgewandelt wird.
  2. Die Zuordnung kann fehlschlagen, wenn der Speicher nicht ausreicht. In diesem Fall gibt es einen NULL-Zeiger zurück. Sie sollten also Code einfügen, um nach einem NULL-Zeiger zu suchen.
  3. Denken Sie daran, dass der zugewiesene Speicher zusammenhängend ist und als Array behandelt werden kann. Wir können Zeigerarithmetik verwenden, um auf die Array-Elemente zuzugreifen, anstatt Klammern [ ] zu verwenden. Wir empfehlen, + zu verwenden, um auf Array-Elemente zu verweisen, da die Verwendung von Inkrementen ++ oder +=die vom Zeiger gespeicherte Adresse ändert.

Die Malloc-Funktion kann auch mit dem Zeichendatentyp sowie mit komplexen Datentypen wie Strukturen verwendet werden.


C Sprache

  1. C++ Switch Case-Anweisung mit BEISPIEL
  2. C++ Dynamische Zuordnung von Arrays mit Beispiel
  3. C++-Zeiger mit Beispielen
  4. Überladen von C++-Operatoren mit Beispielen
  5. C++-Struktur mit Beispiel
  6. Karte in C++ Standard Template Library (STL) mit Druckbeispiel
  7. std::list in C++ mit Beispiel
  8. C++ Funktionen mit Programmbeispielen
  9. calloc()-Funktion in der C-Bibliothek mit Programm BEISPIEL
  10. realloc()-Funktion in der C-Bibliothek:Wie verwenden? Syntax &Beispiel