So erstellen Sie ein 2 -dimensionales Array mit malloc in der C -Programmierung

So erstellen Sie ein 2 -dimensionales Array mit malloc in der C -Programmierung

Die malloc () -Funktion wird in der C -Programmierung verwendet, um die Daten im Heap zu speichern, was dynamischer Speicherspeicher ist. Es wird hauptsächlich für die dynamische Erklärung der Arrays verwendet und auch für die Erstellung von zweidimensionalen Arrays verwendet. Die zweidimensionalen Arrays werden verwendet, um die Werte in der tabellarischen Form mit den Spalten und Zeilen zu zeichnen.

In diesem Artikel lernen wir, ein zweidimensionales Array mit der MALCOC () -Funktion in der C-Programmierung zu erstellen.

Was ist eine malloc () -Funktion in der C -Programmierung

In bestimmten Programmen können wir die Größe eines Arrays oft nicht vorhersagen. Wenn wir die Werte dem Array alleine zuweisen, kann sie während der Ausführung nicht geändert werden. Dies führt zu Problemen, entweder wird der Speicher für das Array niedrig oder das Array wird weniger Platz für den Speicher einnimmt. Um dies zu vermeiden, wird empfohlen, Arrays dynamisch zuzuweisen.

Bei der C -Programmierung werden für die dynamische Speicherzuweisung unterschiedliche Funktionen verwendet. Eine von ihnen ist die malloc () -Funktion; Es sendet eine Anfrage an den Heap für einen bestimmten Speicherblock. Wenn der Heap den Speicherplatz hat, reagiert er, indem der angeforderte Speicherblock an Malloc zugewiesen wird ().

Der Malloc () belegt den Raum des zugewiesenen Speicherblocks gemäß der Notwendigkeit eines ausgeführten Programms und nach der erfolgreichen Ausführung kann dieser Speicherplatz durch die Verwendung der Funktion Free () frei gemacht werden.

So erstellen Sie das 2-dimensionale Array mit der MALCOC () -Funktion in der C-Programmierung

Betrachten Sie vor der Erstellung die folgende Abbildung, um besser zu verstehen, wie das zweidimensionale Array funktioniert.

In der obigen Abbildung können wir verstehen, dass in einem 2-dimensionalen Array zuerst die Elemente im ersten Feld der Spalte festgelegt werden, nachdem diese entsprechende Zeile gefüllt ist, und dann in der zweiten Zeile der Spalte und sie dauert bis auf Das gesamte Array ist gefüllt, als werden erste Elemente in x [0] [0 [, dann x [0] [1], dann [0] [2], dann x [0] [1], [1] [1] [1] platziert. 0] und dann so weiter.

Wir werden das folgende grundlegende Beispiel für das Erstellen eines zweidimensionalen Arrays mit dem malloc () in der C-Programmierung betrachten. Wir haben eine Textdatei CFILE erstellt.c und geben Sie das folgende Skript darin ein:

#enthalten
#enthalten
int main ()
int row = 5, col = 4;
int * a = (int *) malloc (row * col * sizeof (int));
int i, j;
für (i = 0; i < row; i++)
für (j = 0; J < col; j++)
*(a + i*col + j) = i + j;
printf ("Die Array -Elemente sind: \ n");
für (i = 0; i < row; i++)
für (j = 0; J < col; j++)
printf ("%d", *(a + i *col + j));

printf ("\ n");

befreie ein);
Rückkehr 0;

Um das obige Programm zu kompilieren, werden wir den GCC -Compiler verwenden:

$ GCC CFILE.C -o CFILE

Führen Sie die aus CFILE, Welches ist die kompilierte CFILE -Datei.C und zeigen Sie die Ausgabe an:

$ ./cFile

Im obigen Code haben wir die Bibliotheken von STDLIB aufgenommen.H (für dynamische Speicherzuweisung) und Stdio.H (für Eingang und Ausgabe) haben wir die Variablenzeile, die Spalte, i und j deklariert. Nach der Deklaration haben wir Malloc () angerufen, um den Speicher gemäß den Werten von "Zeile" und "Spalte" zuzuweisen. Sobald der Speicher zugewiesen wurde, haben wir einfach die beiden verschachtelten Schleifen verwendet, um die Werte im Array zu speichern, und dann haben wir die Werte angezeigt. Am Ende verwendeten wir den freien () den auf dem Haufen von malloc () zugewiesenen besetzten Raum leer, um den besetzten Raum zu leeren.

Abschluss

Zweidimensionale Arrays sind ähnlich wie eindimensionale Arrays, der einzige Unterschied zwischen den 1D- und 2D-Arrays ist; Die 2D -Arrays speichern die Daten in der tabellarischen Form, und das 1D -Array speichert Daten in Form von Zeilen. Die Arrays sind die Grundlagen der Datenstrukturen und können eine große Datenmenge desselben Datentyps speichern. In diesem Artikel haben wir die Erstellung des zweidimensionalen Arrays im dynamischen Speicher erläutert, indem wir die MALCOC () -Funktion aufrufen.