In der C -Programmierung wird das Array verwendet, um eine Reihe von Werten desselben Datentyps zu speichern, und nimmt einen Speicherplatz in Speicher ein, der entweder statisch oder dynamisch sein kann. Das Malloc ist eine Funktion, die in der C -Programmierung zur dynamischen Speicherzuweisung verwendet wird.
In diesem Artikel erfahren wir die Malloc -Funktion, um ein Array in der C -Programmierung zu erstellen.
Was ist ein Malloc () in C -Programmierung
Der dynamische Speicher wird dem Programm während seiner Ausführung gemäß dem von ihm benötigten Raum zugewiesen. Im statischen Speicher wird der feste Speicher dem Programm vor der Ausführung des Programms mit den folgenden Nachteilen zugewiesen:
Um diese Nachteile zu vermeiden, werden wir das dynamische Speicherzuweisungsschema verwenden, da dieses Schema den Speicher des vom Programms benötigten Blocks während seiner Ausführung zuweist. Der dynamische Speicher hat unterschiedliche Funktionen als Zeiger auf das Programm.
Die malloc () -Funktion steht für „Speicherzuweisung“ und wird für die dynamische Speicherzuweisung bei der Ausführung des Programms verwendet. Wenn die malloc () -Funktion aufgerufen wird, sendet sie eine Anforderung eines Speicherblocks an den Heap (es handelt sich um ein Speichersegment, in dem der Speicher zufällig zugewiesen wird). Wenn der Heap Speicher entspricht, der diesem Speicherblock entspricht, akzeptiert er die Anforderung und verweist diese Größe der MALKOC () -Funktion gegen seine Anfrage. Wenn er keinen Speicher hat, gibt er den Nullwert zurück. Wenn wir mit dem Speicherblock fertig sind, können wir ihn durch die Funktion Free () löschen, damit der Speicherblock frei werden und von den anderen Programmanweisungen verwendet werden kann. Für die dynamische Speicherzuweisung müssen wir das „STDLIB) einbeziehen.H ”In Header -Dateien und die allgemeine Syntax der Verwendung der Malloc -Funktion lautet:
1 | $ pointer = (castType*) malloc (Größe); |
Wir können jede Variable anstelle von "Zeiger" verwenden, dann können wir den "castType" durch den Datentyp ersetzen, dessen Werte im Array gespeichert werden. Verwenden Sie dann die MALOC () -Funktion und erwähnen Sie die Größe des Speichers, den wir benötigten.
So verwenden Sie die Malloc -Funktion in der C -Programmierung, um ein Array zu erstellen
Für ein besseres Verständnis der Erstellung eines Arrays mit der MALCOC () -Funktion werden wir ein Programm erstellen. Um die C -Programmierung unter Linux zu verwenden, müssen wir den GCC -Compiler mit dem Befehl installieren:
1 | $ sudo APT Installieren Sie GCC |
Erstellen Sie eine Textdatei mit dem Nano -Editor:
1 | $ nano myfile.C |
Geben Sie den folgenden Code ein:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # inklusive # inklusive int main (void) int Größe, ich, *my_array; printf ("\ n Bitte geben Sie die Größe des Arrays ein:"); scanf („%d“, & Größe); my_array = (int *) malloc (Größe * sizeof (int)); printf ("\ n Eingeben Sie die Werte von Array:"); für (i = 0; i printf ("\ n Die Werte im Array sind:"); für (i = 0; i printf ("\ n"); |
Speichern Sie das Skript mit dem Namen „MyFile.C ”Verwenden Sie die Strg+S und beenden Sie den Editor, indem Sie Strg+x drücken. Kompilieren Sie nach dem Speichern den Code und überprüfen Sie, ob Fehler mit dem Befehl verwendet werden oder nicht:
1 | $ gcc myfile.c -o myfile |
Die "MyFile" wird eine ausführbare Datei sein. Führen Sie die "MyFile" mit dem Befehl aus:
1 | $ ./meine Datei |
Das Programm wurde erfolgreich ausgeführt. Die Erläuterung des obigen Code ist als:
Abschluss
Die malloc () -Funktion wird in der dynamischen Speicherzuweisung verwendet und kann auch verwendet werden, um Werte im Array zu speichern. In dieser Beschreibung haben wir besprochen, wie das Array mithilfe der MALCOC () -Funktion deklariert und verwendet wird. Der dynamische Speicherzuweisungsansatz wird empfohlen, wenn Sie die Größe eines Arrays während der Ausführung des Programms ändern möchten.