Introduction à String Array en C ++

Il existe de nombreux types de données en C ++, comme entier, flottant, caractère, chaîne. Le type de données de chaîne est un tableau de caractères se terminant par un caractère nul ('\ 0') qui indique la fin du tableau ou de la chaîne. C ne les avait pas en tant que tels la chaîne de type de données, à cause de laquelle nous avons dû former un tableau de caractères pour former une chaîne. En C ++, nous avons la chaîne de type de données intégrée.

Exemple de caractère: «a» ou «A»

Exemple de chaîne (C ++): «anglais»

String: tableau de caractères: String (0) = 'E'

Chaîne (1) = 'n'

Chaîne (2) = 'g'

Chaîne (3) = 'l'

Chaîne (4) = 'i'

Chaîne (5) = 's'

Chaîne (6) = 'h'

Chaîne (7) = '\ 0'

Les chaînes peuvent être déclarées, écrites et imprimées directement en C ++. De plus, chaque caractère d'une chaîne est accessible à l'aide d'un index similaire à l'indexation dans le tableau. Dans le cas de la chaîne, lorsque nous lisons sous la forme d'un tableau de caractères à l'aide de scanf (), elle arrêtera la chaîne ou la fonction de lecture lorsqu'elle trouvera le premier espace blanc. Pour éviter cela, la fonction gets () peut être utilisée. Cela lit une ligne entière et arrête la lecture uniquement lorsque l'utilisateur frappe «Entrée».

Tableau de chaînes en C ++ un tableau de plusieurs chaînes

Un tableau de chaînes ou un tableau de chaînes est un tableau de plusieurs chaînes. Cela peut être déclaré comme suit:

string Animals(4) = ("Elephant", "Fox", "Lion", "Tiger");

Pour imprimer l'ensemble du tableau de chaînes, la boucle for peut être utilisée:

Code:

for(int i = 0; i<4; i++) (
cout << Animals(i) << endl;
)

Production:

Comment accéder aux éléments à partir du tableau de chaînes?

Le tableau de chaînes est similaire à un tableau bidimensionnel. La première dimension ou index spécifie l'index de la chaîne du 1 er mot / chaîne de type tableau ou du 2 e mot / chaîne et ainsi de suite. Alors que la deuxième dimension ou index spécifie quel caractère dans ce mot / chaîne spécifique.

Pour l'expliquer avec un exemple clair:

Animals(2)(1) = 'i'

Dans l'exemple ci-dessus, le premier index «2» spécifie qu'il s'agit de la 2 ème chaîne du tableau: «Tiger». Le deuxième index «1» spécifie qu'il s'agit de la 2 e lettre ou index 1 du mot «Tiger». En utilisant l'indexation bidimensionnelle, chaque caractère de chaque chaîne est facilement accessible.

Allocation ou définition d'un tableau de chaînes

Il existe différentes méthodes d'allocation d'un tableau de chaînes:

1. Tableau 2D de caractères (qui peut également être utilisé en C)

Nom du caractère (nombre maximal d'éléments) (taille maximale de chaque élément)

couleur char (4) (8) = («bleu», «rouge», «blanc», «noir»)

Code:

int main() (
char color(4)(8) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)

Sortie :

Ici, la couleur du tableau est de taille fixe, c'est-à-dire que le nombre d'éléments est fixe et que le nombre de caractères ou de tailles de l'élément est également fixe. Le nombre maximum d'éléments qui peut être défini est de 4 et chacun peut avoir un maximum de 8 caractères pas plus que cela. Il s'agit de la principale barrière du tableau de caractères 2D.

2. Tableau avec mot clé String (uniquement possible en C ++)

nom de la chaîne (nombre maximal d'éléments)

couleur de chaîne (4) = ("bleu", "rouge", "blanc", "noir")

Code:

int main() (
string color(4) = (“blue”, “red”, “white”, “black”);
for(int i = 0; i<4; i++) (
cout << color(i) << endl;
)
)

Sortie :

Ici, une seule dimension est fixée lorsque nous la déclarons sous forme de tableau de chaînes. Seul le nombre d'éléments est fixe. La taille de l'élément peut varier. Mais en spécifiant la deuxième dimension, nous pouvons accéder ou afficher le caractère spécifique à partir d'une chaîne respective.

3. Utilisation de vecteurs en C ++

Nom du vecteur

couleur de vecteur

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;
)

Production:

Ici, il est alloué dynamiquement, la mémoire est allouée à partir du tas. La taille n'est pas fixe. Il peut augmenter ou diminuer selon le nombre d'éléments. En cas d'allocation dynamique de tableau de chaînes à l'aide de la commande «nouveau», nous devons désallouer manuellement la mémoire allouée. Mais dans le cas du vecteur, ce n'est pas nécessaire. La réallocation est possible dans le vecteur alors qu'elle n'est pas possible dans le tableau alloué dynamiquement.

4. Passer un tableau de chaînes dans une fonction

Le tableau de chaînes peut être passé à une fonction similaire à Comment nous transmettons un tableau.

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);
)

Sortie :

Ici, nous passons le tableau de chaînes str comme paramètre à une fonction «display» qui imprime le 3 ème élément du tableau de chaînes («Positive»).

5. Copie d'un tableau de chaînes vers un autre

Pour copier d'un tableau de chaînes à un autre, nous devons copier chaque élément individuellement, mais l'ensemble du tableau ne peut pas être copié d'un seul coup.

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;
)
)

Sortie d'erreur:

Production:

Ici, lorsque nous avons essayé de copier l'intégralité du tableau de chaînes principal (str) vers un ou plusieurs autres tableaux de chaînes, nous avons eu une erreur (comme indiqué dans la capture d'écran 1) tandis que lorsque nous l'avons copié élément par élément, str a été copié dans s et nous avons pu le vérifier. en voyant la deuxième capture d'écran de sortie.

Conclusion

Ainsi, la chaîne est un type de données qui est un tableau de caractères et elle n'est présente qu'en C ++. En C, nous avions l'habitude de déclarer comme un tableau de caractères. Le tableau de chaînes est un tableau composé de nombreuses chaînes. Lorsqu'elle est déclarée statiquement ou dynamiquement, elle est de taille fixe et lorsqu'elle est déclarée sous forme de vecteur, la taille n'est pas fixe. Chaque élément et le caractère d'un élément spécifique sont facilement accessibles à l'aide de l'indexation du tableau de chaînes.

Articles recommandés

Ceci est un guide de String Array en C ++. Ici, nous discutons de l'excès d'élément dans String Array en C ++ et de l'allocation de String Array en C ++. Vous pouvez également consulter nos autres articles connexes pour en savoir plus-

  1. Tableau de chaînes en Python
  2. StringBuffer en Java
  3. Fonctions de chaîne Python
  4. Tableaux en C ++
  5. Introduction à String Array en C #
  6. Les 11 principales fonctionnalités et avantages de C ++
  7. Top 8 des comparaisons de String vs StringBuilder
  8. Array fonctionne-t-il sous Unix avec la syntaxe?