Zum Hauptinhalt springen

Wie erstelle ich ein dimensionsloses Array in C++

Arrays sind eine der wichtigen Datenstrukturen, die in der Programmierung verwendet werden. Sie ermöglichen es Ihnen, viele Elemente desselben Typs in der Reihenfolge im Speicher des Computers zu speichern.

In einigen Fällen ist es jedoch erforderlich, ein Array zu erstellen, dessen Größe während der Programmausführung dynamisch bestimmt wird. Ein solches Array wird als dimensionslosen und es kann sehr nützlich sein, wenn Sie die genaue Anzahl der benötigten Elemente nicht im Voraus kennen können.

In C++ Sie können ein dimensionsloses Array erstellen, indem Sie Folgendes verwenden dynamische Speicherzuweisung. Dazu wird der Operator verwendet new, mit dem Sie einen Speicherblock der gewünschten Größe zuweisen können, während das Programm ausgeführt wird. Der resultierende Zeiger auf diesen Speicherblock kann als Zeiger auf ein Array verwendet werden, auf dessen Elemente über Indizes zugegriffen wird.

Wie erstelle ich ein Array ohne Größe in C++

In C++ ist es normalerweise nicht möglich, ein Array ohne eine bestimmte Größe zu erstellen, da die Größe des Arrays dem Compiler zur Kompilierzeit des Programms bekannt sein muss. Es gibt jedoch eine Möglichkeit, diese Einschränkung zu umgehen und ein Array ohne Größe zu erstellen.

Eine Möglichkeit, ein Array ohne Größe in C++ zu erstellen, besteht darin, dynamische Speicherzuweisung mit der new- Anweisung zu verwenden. Dazu wird ein Zeiger verwendet, der später verwendet wird, um auf die Elemente des Arrays zuzugreifen. Beispielcode:

int* myArray;myArray = new int[10];

In diesem Beispiel wird ein myArray-Zeiger erstellt, mit dem auf die Elemente des Arrays zugegriffen werden kann. Der new-Operator weist 10 Elementen vom Typ int Speicher zu und gibt einen Zeiger auf das erste Element des Arrays zurück. Auf diese Weise können wir mit dem myArray-Zeiger auf die Elemente des Arrays zugreifen.

Um den vom Array belegten Speicher freizugeben, müssen Sie den delete-Operator verwenden :

delete[] myArray;

Delete-Anweisung[] gibt den vom Array belegten Speicher frei und ermöglicht die erneute Verwendung dieses Zeigers.

Auf diese Weise können wir mit dynamischer Speicherzuweisung ein Array ohne Größe in C++ erstellen und damit arbeiten.

Schritt 1: Einführung in dynamische Arrays

Verwenden Sie den Operator, um ein dynamisches Array in C++ zu erstellen new. Operator new weist einen Speicherblock der angeforderten Größe zu und gibt einen Zeiger zum Anfang dieses Blocks zurück.

Beispiel für die Erstellung eines dynamischen Arrays:

int *dynamicArray = new int[10];

In diesem Beispiel haben wir ein dynamisches Array erstellt dynamicArray mit 10 Elementen vom Typ int. Um mit einem dynamischen Array zu arbeiten, verwenden wir einen Zeiger auf seinen Anfang, daher muss der Zeigertyp dem Elementtyp des Arrays entsprechen.

Nachdem wir dem dynamischen Array Speicher zugewiesen haben, können wir mithilfe der Indizierung auf seine Elemente zugreifen:

dynamicArray[0] = 5; // weisen Sie dem ersten Element int x = DynamicArray den Wert 5 zu[3]; // weisen Sie der Variablen x den Wert des vierten Elements zu

Wie bei normalen statischen Arrays beginnt die Indizierung in einem dynamischen Array bei 0.

Nachdem Sie jedoch ein dynamisches Array verwendet haben, müssen Sie den zugewiesenen Speicher mithilfe des Operators freigeben delete[]:

Operator delete[] gibt den dem dynamischen Array zugewiesenen Speicher frei und ermöglicht die Wiederverwendung dieses Speichers für andere Zwecke.

Die Verwendung von dynamischen Arrays in C++ ermöglicht eine flexiblere Speicherverwaltung und das Erstellen von Arrays mit veränderbarer Größe, was besonders nützlich ist, wenn Sie mit großen Datenmengen arbeiten oder die Größe des Arrays während der Programmausführung dynamisch ändern.

Schritt 2: Erstellen eines dynamischen Arrays ohne Angabe der Größe

Um ein dimensionsloses Array in C++ zu erstellen, können Sie einen Zeiger und den new-Operator verwenden. Dadurch können Sie während der Programmausführung Speicher für das Array reservieren, wenn Sie seine Größe kennen.

Um ein dimensionsloses Array zu erstellen, müssen Sie zuerst einen Zeiger auf den Datentyp des Arrays deklarieren:

int* array;

Dann können Sie den new-Operator verwenden, um Speicher für das Array zuzuweisen:

array = new int[Größe];

Sie können "Größe" durch die gewünschte Array-Größe ersetzen. Dadurch wird ein Zeiger erstellt, der auf das erste Element des Arrays zeigt.

Nachdem Sie das Array verwendet haben, müssen Sie den zugewiesenen Speicher mithilfe der delete-Anweisung freigeben:

delete[] array;

Dadurch wird der zuvor zugewiesene Speicher freigegeben und Speicherlecks vermieden.

Indem Sie dimensionslose Arrays erstellen, können Sie ihre Größe während der Programmausführung leicht verwalten, wodurch sie sehr flexibel und einfach zu bedienen sind.