So erstellen Sie eine Reihe von Zeichenfolgen mit malloc in C -Programmierung

So erstellen Sie eine Reihe von Zeichenfolgen mit malloc in C -Programmierung

C Programmiersprache ist eine der berühmten strukturierten Sprachen, die viele grundlegende Komponenten umfasst, und Arrays sind eine davon von ihnen. Arrays werden als Sammlung ähnlicher Arten von Elementen bezeichnet, die in zusammenhängenden Speicherblöcken gespeichert sind. Dies sind zwei Typen: statisches Array und dynamisches Array. Im statischen Array ist die Größe des Arrays festgelegt. Aber in einem dynamischen Array wird der Speicher dynamisch zugewiesen.

Dieser Beitrag wird demonstrieren:

  • Voraussetzung: C -Compiler installieren
  • Was ist "malloc ()”In C -Programmierung?
  • So erstellen Sie eine Reihe von Zeichenfolgen mit “malloc ()”In C -Programmierung?

Voraussetzung: C -Compiler installieren

C Compiler wird verwendet, um den Quellcode in Binär- oder Objektcode umzuwandeln oder das C -Programm auszuführen. Um den C -Compiler unter Windows zu installieren, lesen Sie daher unseren anderen speziellen Artikel.

Was ist "malloc ()" in der C -Programmierung?

Das Array in C -Programmierung hat eine definierte Größe. Gelegentlich kann die Arraygröße jedoch unzureichend oder übermäßig sein, was den Gedächtnis verschwendet. Um Array -Einschränkungen zu überwinden, verwenden Entwickler mehrere Funktionen, um dem Array den Speicher dynamisch zuzuweisen. Verschiedene C -Bibliotheksfunktionen wie Free (), CALLOC (), Realloc () und malloc () werden verwendet, um den Speicher dynamisch zuzuweisen. Genauer.

Syntax

pointer = (gusstyp*) malloc (Größe des Byte)

So erstellen Sie eine Reihe von Zeichenfolgen mit „malloc ()“ in der C -Programmierung?

So erstellenmalloc ()Funktion, schauen Sie sich das angegebene Beispiel an.

Schritt 1: Erstellen Sie eine Reihe von Zeichenfolge mit der Funktion „malloc ()“

Um eine Reihe von Zeichenfolgen mit der C -Standardbibliotheksfunktion zu erstellen “malloc ()Öffnen Sie zunächst den Visual Studio -Code -Editor unter Windows und fügen Sie den bereitgestellten Code in eine Programmdatei mit der “ein.C" Verlängerung:

#enthalten
#enthalten
#enthalten
int main (void)

int Größe, ich;
printf ("Bitte geben Sie die Größe des Arrays ein: \ n");
scanf ("%d", & Größe);
char *str_array [Größe];
char Array_i [Größe];
printf ("Geben Sie die Zeichenfolgen ein: \ n");
für (i = 0; i
scanf ("%s", array_i);
str_array [i] = (char*) malloc (strlen (array_i)*sizeof (char));
strcpy (str_array [i], array_i);

printf ("Ihre Saiten waren: \ n");
für (i = 0; i
printf ("%s \ n", str_array [i]);

Rückkehr 0;

Die Beschreibung des oben genannten Code ist unten angegeben:

  • Der "H"Bibliothek wird für die Speicherzuweisung verwendet, die"Saite.H”Wird zur Durchführung der Operation im Zusammenhang mit String Manipulation verwendet und“stdio.H”Wird verwendet, um den Eingangs-/Ausgangsstrom aufzunehmen.
  • Als nächstes haben wir die "definiert"int main (void)Für die Deklaration der Funktion ohne Argument. Hier das "LeereParameter gibt an, dass kein Rückgabewert erforderlich ist.
  • Dann haben wir zwei Variablen deklariert. Der "Größe”Wird verwendet, um die Gesamtzahl der Stringeinträge zu erhalten, und“ich”Wird für die Schleifeneration verwendet. Beide Variablen sind von “int" Datentyp.
  • Der "Scanf”Wird verwendet, um Eingabestream von der Tastatur zu erhalten oder zu lesen.
  • Dann haben wir zwei Arrays der “initialisiert“verkohlen" Typ. Das erste Array ist ein Zeiger -Array, der verwendet wird, um Saiten zu zeigen und zu speichern. Das zweite Array ist einfach “verkohlen"Array, das in" verwendet wird "MallocFunktion zum Akzeptieren einer Zeichenfolge vom Benutzer.
  • Der "StrcpyDie Funktion wird verwendet, um die Zeichenfolge zu kopieren. Es ist im Programm über die “enthaltenH" Bibliothek.
  • Wir haben die “angewendet“malloc ()"Funktion der"verkohlen*”Typ Cast. Es wird verwendet, um den Speicher dynamisch zuzuweisen. Der "malloc ()Die Funktion multipliziert die Größe des Charakters mit einer Reihe von Charakter -Bytes, um ausreichende Speicherblöcke zuzuweisen.
  • Das Zeigerarray "str_array [i]”Wird verwendet, um Saiten im Array zu zeigen und zu speichern.
  • Zuletzt die “fürDie Schleife wird verwendet, um das Array zu iterieren. Danach druckten wir das Array mit dem “printf”Funktion.

Schritt 2: Offenes Terminal

Starten Sie das Terminal als nächstes aus der Visual Studio -Menüleiste:

Schritt 3: Kompilieren Sie das C -Programm

Als nächstes verwenden Sie die “GCCC -Compiler, um das Programm mit dem erwähnten Befehl zu kompilieren:

> GCC Malloc.C

Hier, "Malloc.C”Ist das C -Programm, für das wir in Schritt 1 Anweisungen gegeben haben:

Auf diese Weise erstellt der Compiler eine ausführbare Datei, um das C -Programm wie unten gezeigt auszuführen:

Schritt 4: Kompiliertes Programm ausführen

Führen Sie das C -Programm als nächstes aus, indem Sie das ausführen “A.exe" Datei:

> ./A.exe

Es kann beobachtet werden, dass wir erfolgreich eine dynamische Reihe von Zeichenfolgen erstellt haben, die mit dem “malloc ()”Funktion.

Abschluss

Um eine Reihe von Zeichenfolgen zu erstellen, die mit dem “malloc ()C -Standardfunktion, erstellen Sie zunächst ein einfaches C -Programm und deklarieren Sie zwei Arrays, von denen eines ein Zeigerarray ist. Danach nutzen Sie die “malloc ()Funktionieren Sie die Funktion "pointer-array = (cast-type*) malloc (Input-Array*Größe von char)" Syntax. Kopieren Sie als Nächstes die String -Arrays mit der “Strcpy”Funktion. Dieser Beitrag hat die Methode zum Erstellen eines String -Arrays mit „mit“ demonstriertmalloc ()”In C -Programmierung.