string array c implementation representation with examples
Ein String-Array in C ++ ist ein Array von Strings. In diesem Tutorial werden wir uns mit den Details der Darstellung und Implementierung von String-Arrays in C ++ befassen:
In unseren früheren Tutorials haben wir Arrays in C ++ gesehen. Mit Arrays können wir Datenelemente verschiedener Typen deklarieren. Während die Arrays aller numerischen Datentypen in Betrieb und Implementierung identisch sind und die Arrays mit dem String-Datentyp unterschiedlich sind.
Private Server von World of Warcraft Vanilla
In C ++ kann die Zeichenfolge als Array von Zeichen oder mithilfe einer von C ++ unterstützten Zeichenfolgenklasse dargestellt werden. Jede Zeichenfolge oder jedes Array-Element wird durch ein Nullzeichen abgeschlossen. Die Darstellung von Zeichenfolgen mithilfe eines Zeichenarrays erfolgt direkt aus der Sprache 'C', da in C kein Zeichenfolgentyp vorhanden ist.
=> Klicken Sie hier für den kostenlosen C ++ - Kurs.
Was du lernen wirst:
Implementierung von String-Arrays
In C ++ können Zeichenfolgen auf drei Arten dargestellt werden.
- Verwenden zweidimensionaler Zeichenarrays: Diese Darstellung verwendet die zweidimensionalen Arrays, wobei jedes Element den Schnittpunkt einer Zeilen- und Spaltennummer darstellt und eine Zeichenfolge darstellt
- Verwenden des String-Schlüsselworts: Wir können auch das Schlüsselwort string von C ++ verwenden, um String-Arrays zu deklarieren und zu definieren.
- Verwenden von STL-Vektoren: Wir können STL-Vektoren verwenden, bei denen jedes Element eines Vektors eine Zeichenfolge ist.
Lassen Sie uns nun jede der oben genannten Methoden diskutieren und auch die Programmierbeispiele für jede Darstellung sehen.
Verwenden zweidimensionaler Zeichenarrays
String-Arrays oder ein Array von Strings können mit einer speziellen Form von zweidimensionalen Arrays dargestellt werden. In dieser Darstellung verwenden wir ein zweidimensionales Array von Typzeichen, um eine Zeichenfolge darzustellen.
Die erste Dimension gibt die Anzahl der Elemente an, d. H. Zeichenfolgen in diesem Array, und die zweite Dimension gibt die maximale Länge jedes Elements im Array an.
Wir können also eine allgemeine Darstellung verwenden, wie unten gezeigt.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Zum Beispiel,Beachten Sie die folgende Erklärung:
char string_array(10) (20);
Die obige Deklaration deklariert ein Array von Zeichenfolgen mit dem Namen 'string_array', das 10 Elemente enthält und dessen Länge nicht mehr als 20 beträgt.
Wir können eine Reihe von Tieren mithilfe von Zeichenfolgen wie folgt deklarieren und initialisieren:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Sehen wir uns ein Programmierbeispiel an, das das Konzept zweidimensionaler Zeichenarrays verwendet, um das Konzept besser zu verstehen.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Ausgabe:

Im obigen Programm haben wir ein Array von Zeichenfolgen mit dem Namen strArray der Größe 5 mit der maximalen Länge jedes Elements als 10 deklariert. Im Programm initiieren wir eine for-Schleife, um jedes Element des Arrays anzuzeigen. Beachten Sie, dass wir nur mit der ersten Dimension auf das Array zugreifen müssen, um das Element anzuzeigen.
Der einfache Zugriff auf Elemente ist einer der Hauptvorteile von 2D-Arrays. Sie sind in der Tat einfach zu programmieren.
Der Hauptnachteil dieser Art der Darstellung besteht darin, dass sowohl die Abmessungen des Arrays, d. H. Die Anzahl der Elemente, als auch die maximale Länge des Elements fest sind und nicht wie gewünscht geändert werden können.
Zweitens geben wir die maximale Länge jedes Elements als zweite Dimension während der Deklaration des Arrays an. Wenn die Zeichenfolgenlänge als 100 angegeben ist und wir alle Elemente haben, deren Länge geringer ist, wird der Speicher verschwendet.
Verwenden des String-Schlüsselworts
In diesem Fall verwenden wir das Schlüsselwort 'string' in C ++, um ein Array von Strings zu deklarieren. Im Gegensatz zu Zeichenarrays haben wir hier nur 1D-Array. Die einzige Dimension gibt die Anzahl der Zeichenfolgen im Array an.
Die allgemeine Syntax für ein Array von Zeichenfolgendeklarationen mit dem Schlüsselwort string ist unten angegeben:
string “array name” (“number of strings”);
Beachten Sie, dass wir hier nicht die maximale Länge der Zeichenfolge angeben. Dies bedeutet, dass die Länge der Array-Elemente nicht begrenzt ist.
Als Beispiel können wir ein Array von Farbnamen auf folgende Weise deklarieren.
string colors(5);
Wir können dieses Array wie folgt weiter initialisieren:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Im Folgenden finden Sie ein C ++ - Programm zum Verständnis des String-Schlüsselworts und seiner Verwendung in einem Array von Strings.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Ausgabe:

Wir haben unser vorheriges Zeichenarray-Programm geändert und die Verwendung des Schlüsselworts string demonstriert. Die Ausgabe des Programms ist dieselbe, aber die Art und Weise, wie dies erreicht wird, ist unterschiedlich, da wir ein Array von Zeichenfolgen mit dem Schlüsselwort string definieren.
Testfälle in Beispielen für Softwaretests
Beachten Sie, dass das Array von Zeichenfolgen, die das Schlüsselwort string verwenden, einen Vorteil hat, bei dem die Länge der Zeichenfolgen im Array nicht eingeschränkt ist. Da es keine Einschränkungen gibt, verschwenden wir auch keinen Speicherplatz.
Auf der anderen Seite hat dieses Array eine feste Größe. Wir müssen die Größe des Arrays vorher deklarieren.
Verwenden von STL-Vektoren
Wir können auch STL-Vektoren zum Deklarieren und Definieren dynamischer Arrays verwenden. Um ein Array von Strings zu definieren, können wir einen STL-Vektor vom Typ string haben.
Diese Deklaration eines Arrays von Zeichenfolgen unter Verwendung eines Vektors wird unten gezeigt:
vector “stringarray_Name”;
Unter Bezugnahme auf die obige Deklaration können wir einen Vektor 'Subjekte' auf folgende Weise deklarieren:
vector mysubjects;
Beachten Sie, dass wir dem Vektor Elemente zuweisen können, indem wir die Methode 'push_back' oder eine andere STL-Vektormethode verwenden.
Im Folgenden finden Sie ein Programmierbeispiel mit C ++, um die Verwendung des STL-Vektors zur Darstellung eines Arrays von Zeichenfolgen zu demonstrieren.
#include #include using namespace std; int main() { vector myNumbers; myNumbers.push_back('one'); myNumbers.push_back('two'); myNumbers.push_back('three'); myNumbers.push_back('four'); myNumbers.push_back('five'); cout<<'String array is as follows:'< Ausgabe:

Im obigen Programm haben wir einen STL-Vektor myNumbers vom Typ string. Als Nächstes fügen wir diesem Vektor mithilfe der push_back-Methode Elemente hinzu und zeigen dann jedes der Elemente des Vektors an.
Wenn wir die gesamte Funktionsweise des STL-Vektors und des Arrays von Zeichenfolgen sehen, sehen wir, dass in diesem Fall die Anzahl der Elemente im Array oder die maximale Länge jedes Elements nicht begrenzt sind. Wir sehen, dass das Array von Strings, die Vektoren verwenden, vollständig dynamisch ist und dynamisch reduziert oder vergrößert werden kann.
Wie wähle ich die zu verwendende Darstellung aus?
Nachdem wir alle drei Darstellungen von String-Arrays gesehen haben, können wir schließen, dass von allen drei Darstellungen die Vektordarstellung die beste ist, da sie dynamischer Natur ist.
Dies hängt vom Zweck und den Anforderungen des String-Arrays ab. Wenn wir die Anforderung haben, dass wir ein String-Array mit fester Größe benötigen und die genauen Daten kennen, die in ein String-Array eingehen, können wir uns für ein Zeichen-Array oder eine String-Darstellung entscheiden.
Wenn das String-Array dynamisch wachsen oder schrumpfen soll, können wir auf die Vektordarstellung zurückgreifen, da dies uns hilft, Programme durch dynamisches Ändern des Arrays zu entwickeln.
Fazit
String-Arrays sind spezielle Arrays mit Daten als Strings. Dies bedeutet, dass jedes Element des Arrays eine Zeichenfolge ist, die mit einem Nullzeichen abgeschlossen ist.
Wir haben drei Darstellungen eines String-Arrays zusammen mit ihren Vor- und Nachteilen ausführlich besprochen. Abhängig von unseren Anforderungen; Wir können jede Darstellung des String-Arrays verwenden, die zu unserer Implementierung passt.
In unseren nachfolgenden Tutorials werden wir C ++ - Zeichenfolgen und C ++ - Funktionen im Detail weiter untersuchen.
=> Lesen Sie die Easy C ++ - Schulungsserie durch.
Literatur-Empfehlungen
- Java Array Length Tutorial mit Codebeispielen
- Java String mit String Buffer und String Builder Tutorial
- C # String Tutorial - String-Methoden mit Codebeispielen
- Python-String-Funktionen
- C ++ - Arrays mit Beispielen
- Zeichenfolgen in C ++ mit Beispielen
- C # Zufallszahl und C # Zufallszeichenfolgengenerator mit Codebeispielen
- Heap-Sortierung in C ++ mit Beispielen