Dynamisches Char -Array C ++

Dynamisches Char -Array C ++
Ein dynamisches Array ist vergleichbar mit einem Standardarray, außer dass seine Größe geändert werden kann, während das Programm ausgeführt wird. Die Mitglieder eines dynamischen Arrays nehmen einen einzelnen Speichercache auf, sobald es abgeschlossen ist, könnte ein dynamisches Array exponentiell wachsen. Der angegebene Cache -Speicher wird einem Array zugewiesen, wenn es erstellt wird. Ein dynamisches Array hingegen erweitert seine Speicherkapazität um ein bestimmtes Kriterium, wenn es erforderlich ist. Wir verwenden ein dynamisches Array, wenn wir die Größe zur Laufzeit bewerten müssen. Lassen Sie uns in diesem Artikel die Details des dynamischen Charakters -Arrays in C erörtert++.

Verwenden Sie den neuen () Operator:

Der neue Bediener stellt das Objekt im Hauptspeicher dynamisch zur Verfügung und kehrt einen Zeiger darauf zurück. In diesem nachfolgenden Programm wird ein Charakter -Array deklariert. Danach in A für Schleife, Wir zuordnen das Char -Array effizient zu und geben den entsprechenden Daten seinen Komponenten an.

#enthalten
Verwenden von Namespace STD;
int main ()

int i, a;
Cout<< "Enter the number of values:" a;
int *arr = new int (a);
Cout<< "Enter " << a << " values" <für (i = 0; i> arr [i];

Cout<< "You entered: ";
für (i = 0; i< a; i++)

Cout<
Rückkehr 0;

Hier integrieren wir die Header -Datei, um ihre Funktionen zu nutzen. Um die Klassen im Programm zu verwenden, ohne es zu erklären, haben wir einen Standard -Namespace verwendet. Die Funktion main () wird im nächsten Schritt aufgerufen.

Erstens deklarieren wir zwei Variablen 'I' und 'a'. Wir verwenden die Anweisung "Cout", um die Zeile auf dem Bildschirm zu drucken, damit der Benutzer die Anzahl der Zahlen eingibt, die er erwerben möchte. Dann wird dieser Wert der Variablen 'a' zugewiesen. Jetzt erwerben wir ein Array, das den Wert der 'a' Variablen enthält, und weisen diesen dann einem Zeiger des Arrays zu. Noch einmal wird der Befehl 'Cout' verwendet, damit der Benutzer zufällige Zahlen eingeben kann.

Für die Schleife wird ausgeführt, wodurch eine Schleifenvariable 'I' initialisiert wird, um die vom Benutzer eingegebenen Zahlen neu aufzunehmen. Die Zahlen im Array 'arr' werden jetzt angezeigt. Bei einer erfolgreichen Ausführung gibt das Programm den Wert zurück. Der Körper der Main () -Funktion ist zu Ende gegangen.

Verwenden Sie eine Initialisiererliste:

Es ist einfach, ein dynamisches Zeichenarray auf 0 zu setzen. Die Länge gibt die Anzahl der Elemente an, die in das Array in dieser Methodik eingefügt werden sollen. Das Array bleibt leer, da wir das Zeichenarray auf Null angeben müssen. Eine Initialisiererliste würde verwendet, um ein dynamisches Zeichenarray zu erstellen. Schauen Sie sich ein Beispiel an.

#enthalten
Verwenden von Namespace STD;
int main (void)

int j;
int *array new int [8] 1, 14, 9, 0, 33, 5, 28, 6;
Cout<< "Elements of the array: " <für (j = 0; J < 8; j++)

Cout<< array[j] <
Rückkehr 0;

Zunächst geben wir die Header -Datei für Eingabe- und Ausgabefunktionen ein. Der Standard -Namespace wird ebenfalls verwendet, damit wir auf die Klassen zugreifen können, ohne ihn aufzurufen. Wir verwenden die Haupt- () -Funktion. Im Körper dieser Funktion wird die Variable 'J' initialisiert. Dann deklarieren wir ein Array mit einer Liste. Der Datentyp dieses Arrays ist eine Ganzzahl. Das Array enthält 8 numerische Ganzzahlen. Wir möchten die Zeile "Elemente des Arrays" auf dem Bildschirm drucken, damit wir die Anweisung "Cout" verwenden. Der Befehl "endl" zeigt das Ende der Zeile an. Es verschiebt die Ausgabe nur in die nächste Zeile.

Wir wenden die 'für' Schleife an. Innerhalb der 'für' Schleife initialisieren wir nur eine Schleifenvariable 'j', dann geben wir die Bedingung an, dass der Wert der Variablen 'j' weniger als 8 betragen muss. Im letzten Teil erhöhen wir den Wert der Schleife. Um die Elemente des definierten Arrays auf dem Bildschirm anzuzeigen, wird die Anweisung "Cout" verwendet. Außerhalb der Schleife 'für' Schleife geben wir den Befehl 'return 0' ein, um das Programm zu beenden.

Verwenden Sie die STD :: Unique_Ptr -Methode:

Der STD :: Unique_Ptr -Zeiger ist ein weiterer Ansatz bei der Erstellung eines dynamischen Charakters -Array und ermöglicht eine sichere Schnittstelle zur Speicherzuweisung. Das Element, zu dem die Funktionspunkte der einzigartigen_Ptr im Besitz der Operation sein müssen; Aber wenn der Zeiger den Bereich verlässt, wird das Element verworfen. Im Gegensatz zu herkömmlichen Zeigern verlangt der Smart -Zeiger nicht, dass ein Programmierer den Löschbetreiber ausführt. Vielmehr wird es implizit aufgerufen, wenn das Element beseitigt wird.

#enthalten
#enthalten
Verwenden von STD :: Cout;
mit std :: endl;
constexpr int s = 11;
statische const chars [] =
'Information' ;
int main ()

std :: Unique_ptrarr (neue char [s]);
für (int k = 0; k < s; ++k)

arr [k] = chars [k];
Cout<
Cout<return exit_success;

Zu Beginn des Programms stellen wir zwei erforderliche Bibliotheken ein: und und . Um die Ausgangsfunktionen zu verwenden, verwenden wir Standard -Cout "Cout". Zusammen mit diesem haben wir 'endl' verwendet, was das Ende der Linie zeigt. Es bewegt den Cursor nur in die nachfolgende Linie. Die Größe des Arrays wird hier unter Verwendung eines Ganzzahl -Datentyps angegeben.

Im nächsten Schritt deklarieren wir das statische konstante Charakter -Array, um seine Elemente zu definieren. Wir berufen die Main () -Funktion. Und für die Speicherzuweisung wenden wir std :: eindeutige_ptr im Körper der Funktion an. Wir konstruieren eine Schleifenvariable 'k' innen, damit die Schleife die Werte des definierten Arrays übergeht. Rufen Sie dann die definierten Werte des Arrays ab und speichern Sie sie in der Variablen 'arr'. Um die im 'arr' enthaltenen Zeichen anzuzeigen, wird die Anweisung "Cout" verwendet. Um zu erreichen, kann der Code den Wert zurückgeben. Im letzten Schritt verwenden wir 'return exit_success', um den Code zu beenden.

Abschluss:

In diesem Artikel haben wir über das dynamische Charakter -Array und verschiedene Methoden zur Zuweisung der Charakter -Arrays in C gesprochen++. Diese Techniken umfassen die Verwendung einer neuen () Operatorin, Initialisiererliste und Std :: Unique_Ptr -Methode. Wir verwenden ein dynamisches Array, wenn wir die Größe des Zeichenarrays zur Laufzeit bestimmen müssen. Die Länge eines dynamischen Zeichenarrays wird im Moment der Zuweisung bestimmt.