Einführung in String Array in C ++
In C ++ gibt es viele Datentypen wie Integer, Float, Character und String. Der String-Datentyp ist ein Array von Zeichen, die mit einem Null-Zeichen ('\ 0') enden, das das Ende des Arrays oder des Strings angibt. C hatte sie als solche nicht als Datentyp string, weshalb wir ein Zeichenarray bilden mussten, um einen String zu bilden. In C ++ haben wir den eingebauten Datentyp string.
Beispiel für ein Zeichen: 'a' oder 'A'
Beispiel für einen String (C ++): "Englisch"
String: Array des Zeichens: String (0) = 'E'
String (1) = 'n'
String (2) = 'g'
String (3) = 'l'
String (4) = 'i'
String (5) = 's'
String (6) = 'h'
String (7) = '\ 0'
Strings können direkt in C ++ deklariert, geschrieben und gedruckt werden. Außerdem kann auf jedes Zeichen in einer Zeichenfolge mit einem Index zugegriffen werden, der der Indizierung im Array ähnelt. Im Fall der Zeichenfolge wird beim Lesen in Form eines Zeichenarrays mit scanf () die Zeichenfolge oder die Lesefunktion angehalten, wenn der erste Leerraum gefunden wird. Um dies zu vermeiden, kann die gets () - Funktion verwendet werden. Dies liest eine ganze Zeile und hört erst dann auf zu lesen, wenn der Benutzer die Eingabetaste drückt.
String Array in C ++ ein Array aus mehreren Strings
Ein String-Array oder ein Array von Strings ist ein Array von mehreren Strings. Dies kann wie folgt deklariert werden:
string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");
Zum Drucken des gesamten String-Arrays kann for loop verwendet werden:
Code:
for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)
Ausgabe:
Wie greife ich über das String-Array auf die Elemente zu?
Das Array von Zeichenfolgen ähnelt einem zweidimensionalen Array. Die erste Dimension oder der erste Index gibt den Index der Zeichenfolge aus dem arrayartigen ersten Wort / der ersten Zeichenfolge oder dem zweiten Wort / der zweiten Zeichenfolge usw. an. Während die zweite Dimension oder der zweite Index angibt, welches Zeichen in diesem bestimmten Wort / dieser Zeichenfolge enthalten ist.
Um es mit einem klaren Beispiel zu erklären:
Animals(2)(1) = 'i'
Im obigen Beispiel gibt der erste Index '2' an, dass es sich um die zweite Zeichenfolge aus dem Array handelt: "Tiger". Der zweite Index '1' gibt an, dass es sich um den 2. Buchstaben oder Index 1 aus dem Wort "Tiger" handelt. Durch die zweidimensionale Indizierung kann auf jedes Zeichen aus jeder Zeichenfolge problemlos zugegriffen werden.
Zuweisung oder Definition eines String-Arrays
Es gibt verschiedene Methoden, um ein Array von Zeichenfolgen zuzuweisen:
1. 2D Array of Char (das auch in C verwendet werden kann)
char Name (maximale Anzahl der Elemente) (maximale Größe jedes Elements)
Zeichenfarbe (4) (8) = ("blau", "rot", "weiß", "schwarz")
Code:
int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Ausgabe :
Hierbei ist die Arrayfarbe von fester Größe, dh die Anzahl der Elemente ist festgelegt und auch die Anzahl der Zeichen oder Größen des Elements ist festgelegt. Die maximale Anzahl der Elemente, die definiert werden können, beträgt 4 und jedes Element kann maximal 8 Zeichen enthalten. Dies ist die Hauptbarriere im 2d-Zeichen-Array.
2. Array mit Schlüsselwort String (nur in C ++ möglich)
string Name (maximale Anzahl Elemente)
Saitenfarbe (4) = ("blau", "rot", "weiß", "schwarz")
Code:
int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)
Ausgabe :
Hier ist nur eine Dimension festgelegt, wenn wir sie als String-Array deklarieren. Nur die Anzahl der Elemente ist festgelegt. Die Größe des Elements kann variieren. Wenn wir jedoch die zweite Dimension angeben, können wir auf das bestimmte Zeichen aus einer entsprechenden Zeichenfolge zugreifen oder es anzeigen.
3. Verwenden von Vektoren in C ++
Vektorname
Vektor Farbe
Code:
#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)#include
#include
using namespace std;
int main()
(
vector color;
color.push_back("blue");
color.push_back("red");
color.push_back("white");
color.push_back("black");
for(int i = 0; i cout << color(i) << endl;
)
return 0;
)
Ausgabe:
Hier wird es dynamisch zugewiesen, der Speicher wird vom Heap zugewiesen. Die Größe ist nicht festgelegt. Sie kann sich je nach Anzahl der Elemente erhöhen oder verringern. Im Falle der dynamischen Zuweisung eines String-Arrays mit dem Befehl "new" müssen wir die Zuordnung des zugewiesenen Speichers manuell aufheben. Im Fall von Vektor ist dies jedoch nicht erforderlich. Eine Neuzuweisung ist im Vektor möglich, während dies im dynamisch zugewiesenen Array nicht möglich ist.
4. String Array in einer Funktion übergeben
String-Array kann an eine Funktion übergeben werden, die der Funktion Übergeben eines Arrays ähnelt.
Code:
#include
#include
using namespace std;
void display(string s(5))(
cout << s(2) ;
)
int main() (
string str(5) = ("Good", "Bad", "Positive", "Negative");
display(str);
)
Ausgabe :
Hier übergeben wir das String-Array str als Parameter an eine Funktion „display“, die das 3. Element des String-Arrays („Positive“) ausgibt.
5. Kopieren von einem String-Array zu einem anderen
Um von einem String-Array in ein anderes zu kopieren, sollten wir jedes Element einzeln kopieren, aber das gesamte Array kann nicht auf einmal kopiert werden.
Code:
int main() (
string str(4) = ("Good", "Bad", "Positive", "Negative");
string s(4);
// s = str; -à This line gives error as the whole array cannot be copied at a single go
// It can be copied as shown below
for( int i=0; i<4; i++) (
s(i) = str(i);
)
for(int i=0; i<4; i++) (
cout << "The element " << i+1 << " of copied array = " << s(i) << " is same as
the corresponding element in main array which is " << str(i) << endl;
)
)
Fehlerausgabe:
Ausgabe:
Beim Versuch, das gesamte Haupt-String-Array (str) in ein anderes String-Array (s) zu kopieren, ist ein Fehler aufgetreten (siehe Abbildung 1), während beim Kopieren von Element zu Element str nach s kopiert wurde und dies überprüft werden konnte indem Sie den zweiten Ausgabe-Screenshot sehen.
Fazit
Die Zeichenfolge ist also ein Datentyp, der ein Array von Zeichen ist und nur in C ++ vorhanden ist. In C haben wir als Zeichenarray deklariert. Das Array von Zeichenfolgen besteht aus mehreren Zeichenfolgen. Wenn es statisch oder dynamisch deklariert wird, hat es eine feste Größe, und wenn es in Form eines Vektors deklariert wird, ist die Größe nicht fest. Auf jedes Element und das Zeichen in einem bestimmten Element kann mithilfe der Indizierung eines Zeichenfolgenarrays problemlos zugegriffen werden.
Empfohlene Artikel
Dies ist eine Anleitung zu String Array in C ++. Hier wird erläutert, wie Sie das Element in String Array in C ++ überschreiten und String Array in C ++ zuweisen. Sie können auch unsere anderen verwandten Artikel durchgehen, um mehr zu erfahren.
- String Array in Python
- StringBuffer in Java
- Python-String-Funktionen
- Arrays in C ++
- Einführung in String Array in C #
- Top 11 Features und Vorteile von C ++
- Top 8 Vergleiche zwischen String und StringBuilder
- Array Unter Unix mit Syntax arbeiten?