Zum Hauptinhalt springen

Wie erstelle ich ein Array unbekannter Länge in C: im einfachen Handbuch

In der C-Programmiersprache sind die gebräuchlichsten Datentypen Arrays. Sie ermöglichen es Ihnen, ähnliche Elemente zu speichern und mit verschiedenen Algorithmen zu verarbeiten.

Ein Nachteil von Arrays in Si ist die feste Länge, die zum Zeitpunkt der Deklaration angegeben werden muss. Es besteht jedoch die Aufgabe, ein Array mit variabler Länge zu erstellen, wenn die genaue Anzahl der Elemente im Voraus nicht bekannt ist.

In C können Sie ein Array unbekannter Länge mithilfe von Zeigern und Speicherzuordnungsfunktionen erstellen. Zum Beispiel eine Funktion malloc() ermöglicht es Ihnen, während der Programmausführung Speicher für das Array der gewünschten Größe zuzuweisen.

Der Programmierer muss den Datentyp der Arrayelemente und die erforderliche Anzahl von Elementen angeben. Nachdem Sie Speicher zugewiesen haben, können Sie mit dem Array genauso arbeiten wie mit einem normalen Array. Es ist wichtig sich daran zu erinnern, dass Sie nach der Verwendung des Arrays den zugewiesenen Speicher mithilfe der Funktion freigeben müssen free().

Erstellen eines Arrays

In der C-Programmiersprache können Sie ein Array unbekannter Länge mithilfe einer dynamischen Speicherzuweisung erstellen. Dazu wird die malloc-Funktion aus der Standardbibliothek stdlib verwendet.h.

#include #include int main() printf("Введите элементы массива:");for (int i = 0; i < n; i++) printf("Массив: ");for (int i = 0; i < n; i++) free(arr);return 0;>

In diesem Beispiel gibt der Benutzer die Größe des Arrays ein, und dann wird der Speicher mithilfe der Malloc-Funktion dynamisch dem Array zugewiesen. Wenn die Speicherzuweisung fehlschlägt (z. B. aufgrund von zu wenig Arbeitsspeicher auf dem Computer), gibt malloc NULL zurück, und das Programm gibt eine entsprechende Fehlermeldung aus.

Mit diesem Beispiel können Sie Arrays unbekannter Länge erstellen und in der C-Programmiersprache mit ihnen arbeiten.

Erstellen eines Arrays mit variabler Länge in C: Einfache Schritte

Die C-Programmiersprache bietet die Möglichkeit, Arrays mit variabler Länge zu erstellen. Dies bedeutet, dass die Länge eines solchen Arrays zur Laufzeit des Programms angegeben werden kann, anstatt im Code statisch definiert zu werden. Das Erstellen eines solchen Arrays umfasst die folgenden Schritte:

    Deklarieren eines Zeigers für ein Array: Bevor Sie ein Array mit variabler Länge erstellen können, müssen Sie einen Zeiger deklarieren, der auf den Anfang des Arrays zeigt. Sie können beispielsweise einen Zeiger wie folgt deklarieren:

int *arr;
arr = (int *) malloc(n * sizeof(int));
for (int i = 0; i
for (int i = 0; i

Nachdem Sie ein Array mit variabler Länge verwendet haben, müssen Sie den ihm zugewiesenen Speicher mit der free-Funktion freigeben :

free(arr);

Durch das Erstellen eines Arrays mit variabler Länge in C-Sprache können Sie den Speicher flexibler nutzen und die Länge des Arrays während der Programmausführung steuern.

Dynamische Speicherzuweisung

In der C-Programmiersprache kann die Speicherzuweisung für ein Array unbekannter Länge dynamisch mithilfe der malloc-Funktion erfolgen. Mit der Malloc-Funktion können Sie einen Speicherblock der angegebenen Größe zuweisen und einen Zeiger auf den Anfang dieses Blocks zurückgeben.

Beispiel für die Verwendung der Malloc-Funktion zum Erstellen eines dynamischen Arrays:

int size; // переменная для хранения размера массиваint* array; // указатель на массивprintf("Введите размер массива: ");scanf("%d", &size);array = (int*) malloc(size * sizeof(int)); // выделение памяти для массиваif (array == NULL) // код для работы с массивомfree(array); // освобождение памяти

Im obigen Beispiel gibt der Benutzer die Größe des Arrays ein, die Funktion malloc weist dem Array Speicher zu, und der Variablen array wird ein Zeiger auf den Anfang dieses Speichers zugewiesen.

Nachdem Sie ein dynamisches Array verwendet haben, müssen Sie den zugewiesenen Speicher mit der Free-Funktion freigeben. Dies ist wichtig, um Speicherlecks zu vermeiden.

Speicher für ein Array unbekannter Länge zuweisen – Codebeispiele

Wenn Sie ein Array in Si erstellen müssen, müssen Sie vorab Speicher zuweisen, um es zu speichern. Wenn die Länge des Arrays im Voraus bekannt ist, können Sie eine statische Deklaration verwenden. Aber was ist, wenn Sie ein Array unbekannter Länge erstellen müssen?

Hier sind einige Codebeispiele, die zeigen, wie Speicher für ein Array unbekannter Länge in Si reserviert werden kann:

Beispiel 1:

#include #include int main() printf("Массив успешно создан. Выделено памяти: %d байт.", length * sizeof(int));free(array);return 0;>

Beispiel 2:

#include #include int main() printf("Массив успешно создан. Выделено памяти: %d байт.", length * sizeof(double));free(array);return 0;>

Beachten Sie, dass in beiden Beispielen die Funktionen malloc und calloc aus der Bibliothek stdlib verwendet werden.h, um Speicher zuzuweisen. Die Malloc-Funktion weist einen Speicherblock einer bestimmten Größe zu, während die calloc-Funktion einen Speicherblock zuweist und ihn mit Nullen initialisiert.

Wenn Sie ein Array variabler Länge erstellen müssen, müssen Sie einen Zeiger auf das Array verwenden und bei Bedarf dynamisch Speicher zuweisen und freigeben. Denken Sie daran, dass Sie nach der Verwendung des zugewiesenen Speichers den Speicher mit der Free-Funktion freigeben müssen, um Speicherlecks zu vermeiden.

Arbeiten mit Zeigern

Die Operatoren *, & und werden verwendet, um mit Zeigern in C zu arbeiten []. Der Operator * wird verwendet, um einen Zeiger zu deklarieren, der Operator &, um die Adresse einer Variablen abzurufen, und der Operator [] - um auf die Elemente des Arrays zuzugreifen.

Führen Sie die folgenden Schritte aus, um ein Array unbekannter Länge mithilfe eines Zeigers zu erstellen:

int *arr;
arr = (int *)malloc(n * sizeof(int));
*(arr + i) = value;

Beispiel für die Verwendung von Zeigern zum Arbeiten mit einem Array:

#include #include int main() printf("Массив: ");for(int i = 0; i < n; i++) free(arr);return 0;>

Das Arbeiten mit Zeigern ermöglicht eine effiziente Speichernutzung und das Erstellen von Arrays unbekannter Länge in Si.

Verwenden von Zeigern zum Arbeiten mit Arrays unbekannter Länge

Um ein Array unbekannter Länge mit Zeigern zu erstellen, können Sie die Funktion malloc oder calloc verwenden, die einen Speicherblock einer bestimmten Größe zuweist und einen Zeiger an den Anfang dieses Blocks zurückgibt. Zum Beispiel:

#include #include int main() printf("Введите элементы массива:");for (int i = 0; i < n; i++) printf("Вы ввели следующие элементы массива:");for (int i = 0; i < n; i++) free(arr);return 0;>

Nachdem Sie ein Array verwendet haben, müssen Sie den ihm zugewiesenen Speicher mit der Free-Funktion freigeben. Dies ist wichtig, um Speicherlecks zu vermeiden.

Die Verwendung von Zeigern zum Arbeiten mit Arrays unbekannter Länge in Si ermöglicht die dynamische Zuweisung von Speicher für Arrays, wodurch das Programm flexibler und komfortabler wird.

Sie können es auch mögen

Warum trinkt die Trappe kein Wasser

Traps sind einzigartige Vögel, die nicht nur durch ihr interessantes Aussehen, sondern auch durch ihre ungewöhnlichen Verhaltensgewohnheiten Aufmerksamkeit auf sich ziehen.

Golf 2 Injektor: Ursachen und Methoden zur Beseitigung der kalten Dreiheit

Das Problem mit dem kalten Dreier im Einspritzmotor des Golf 2 ist ein häufiges Phänomen, mit dem Besitzer dieses beliebten Modells konfrontiert sind.

So beheben Sie das Problem mit fehlendem WLAN auf einem Windows 10-Laptop

Heutzutage ist es für niemanden ein Geheimnis, dass die Verbindung mit Wi-Fi ein wesentlicher Bestandteil unseres täglichen Lebens ist. Aber wenn wir es plötzlich haben.

Wie man die Stimme selbstbewusster macht

Eine selbstbewusste Stimme ist einer der Schlüsselkomponenten einer effektiven Kommunikation. Es hilft, Ihre Gedanken und Ideen mit Klarheit und auszudrücken.

  • Feedback
  • Nutzungsbedingungen
  • Datenschutz