string array c implementation representation with examples
Un tableau de chaînes en C ++ est un tableau de chaînes. Dans ce didacticiel, nous allons creuser dans les détails de la représentation et de l'implémentation des tableaux de chaînes en C ++:
Nous avons vu des tableaux en C ++ dans nos tutoriels précédents. Les tableaux nous permettent de déclarer des éléments de données de différents types. Alors que tous les tableaux de types de données numériques sont identiques dans les opérations et la mise en œuvre, et les tableaux avec le type de données chaîne sont différents.
questions d'entretien de test manuel pour 3 ans d'expérience
En C ++, la chaîne peut être représentée sous la forme d'un tableau de caractères ou à l'aide d'une classe de chaînes prise en charge par C ++. Chaque élément de chaîne ou de tableau se termine par un caractère nul. La représentation de chaînes à l'aide d'un tableau de caractères est directement tirée du langage «C» car il n'y a pas de type chaîne en C.
=> Cliquez ici pour le cours C ++ gratuit.
Ce que vous apprendrez:
Implémentation de tableaux de chaînes
En C ++, les chaînes peuvent être représentées de trois manières.
- Utilisation de tableaux de caractères bidimensionnels: Cette représentation utilise les tableaux à deux dimensions où chaque élément est l'intersection d'un numéro de ligne et de colonne et représente une chaîne
- Utilisation du mot-clé de chaîne: Nous pouvons également utiliser le mot clé string de C ++ pour déclarer et définir des tableaux de chaînes.
- Utilisation des vecteurs STL: Nous pouvons utiliser des vecteurs STL dans lesquels chaque élément d'un vecteur est une chaîne.
Maintenant, discutons de chacune des méthodes ci-dessus et voyons également les exemples de programmation pour chaque représentation.
Utilisation de tableaux de caractères bidimensionnels
Les tableaux de chaînes ou un tableau de chaînes peuvent être représentés à l'aide d'une forme spéciale de tableaux à deux dimensions. Dans cette représentation, nous utilisons un tableau à deux dimensions de caractères de type pour représenter une chaîne.
La première dimension spécifie le nombre d'éléments, c'est-à-dire les chaînes dans ce tableau et la deuxième dimension spécifie la longueur maximale de chaque élément du tableau.
Nous pouvons donc utiliser une représentation générale comme indiqué ci-dessous.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Par exemple,considérez la déclaration suivante:
char string_array(10) (20);
La déclaration ci-dessus déclare un tableau de chaînes nommé «string_array» qui contient 10 éléments et la longueur de chaque élément n’excède pas 20.
Nous pouvons déclarer et initialiser un tableau d'animaux à l'aide de chaînes de la manière suivante:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Voyons un exemple de programmation utilisant le concept de tableaux de caractères bidimensionnels pour mieux comprendre le concept.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Production:

Dans le programme ci-dessus, nous avons déclaré un tableau de chaînes appelé strArray de taille 5 avec la longueur maximale de chaque élément comme 10. Dans le programme, nous lançons une boucle for pour afficher chaque élément du tableau. Notez que nous avons juste besoin d'accéder au tableau en utilisant la première dimension pour afficher l'élément.
Un accès facile aux éléments est l'un des principaux avantages des baies 2-D. Ils sont en effet simples à programmer.
L'inconvénient majeur de ce type de représentation est que les dimensions du tableau c'est-à-dire le nombre d'éléments et la longueur maximale de l'élément sont fixes et ne peuvent pas être modifiées comme nous le souhaitons.
Deuxièmement, nous spécifions la longueur maximale de chaque élément comme deuxième dimension lors de la déclaration du tableau. Si la longueur de la chaîne est de 100 et que nous avons tous les éléments de moindre longueur, la mémoire est gaspillée.
Utilisation d'un mot-clé de chaîne
Dans ce cas, nous utilisons le mot-clé «chaîne» en C ++ pour déclarer un tableau de chaînes. Contrairement aux tableaux de caractères, nous n'avons ici qu'un tableau 1D. La seule dimension spécifie le nombre de chaînes dans le tableau.
La syntaxe générale pour une déclaration de tableau de chaînes utilisant le mot clé string est donnée ci-dessous:
string “array name” (“number of strings”);
Notez que nous ne spécifions pas ici la longueur maximale de la chaîne. Cela signifie qu'il n'y a aucune limitation sur la longueur des éléments du tableau.
À titre d'exemple, nous pouvons déclarer un tableau de noms de couleurs de la manière suivante.
string colors(5);
Nous pouvons encore initialiser ce tableau comme indiqué ci-dessous:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
Vous trouverez ci-dessous un programme C ++ pour comprendre le mot-clé string et son utilisation dans un tableau de chaînes.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Production:

Nous avons modifié notre précédent programme de tableau de caractères et démontré l'utilisation du mot-clé string. La sortie du programme est la même mais la manière dont elle est réalisée est différente car nous définissons un tableau de chaînes à l'aide du mot-clé string.
Notez que le tableau de chaînes utilisant le mot-clé string a un avantage dans lequel nous n'avons aucune limitation sur la longueur des chaînes dans le tableau. Comme il n'y a pas de limitation, nous ne gaspillons pas non plus d'espace mémoire.
En revanche, ce tableau a une taille fixe. Nous devons déclarer la taille du tableau au préalable.
Utilisation des vecteurs STL
Nous pouvons également utiliser des vecteurs STL pour déclarer et définir des tableaux dynamiques. Ainsi pour définir un tableau de chaînes, nous pouvons avoir un vecteur STL de type chaîne.
Cette déclaration d'un tableau de chaînes utilisant vector est illustrée ci-dessous:
vector “stringarray_Name”;
En se référant à la déclaration ci-dessus, nous pouvons déclarer un vecteur «sujets» de la manière suivante:
vector mysubjects;
Notez que nous pouvons attribuer des éléments au vecteur en utilisant la méthode «push_back» ou toute autre méthode vectorielle STL.
Vous trouverez ci-dessous un exemple de programmation utilisant C ++ pour illustrer l'utilisation du vecteur STL pour représenter un tableau de chaînes.
#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:'< Production:

Dans le programme ci-dessus, nous avons un vecteur STL myNumbers de type string. Ensuite, nous ajoutons des éléments à ce vecteur en utilisant la méthode push_back, puis nous affichons chacun des éléments du vecteur.
Si nous voyons tout le fonctionnement du vecteur STL et du tableau de chaînes, nous voyons que dans ce cas, nous n'avons pas de limite sur le nombre d'éléments dans le tableau ou la longueur maximale de chaque élément. On voit que le tableau de chaînes utilisant des vecteurs est complètement dynamique et peut être réduit ou augmenté dynamiquement.
Comment sélectionner la représentation à utiliser?
Maintenant que nous avons vu les trois représentations des tableaux de chaînes, nous pouvons conclure que sur les trois représentations, la représentation vectorielle est la meilleure car elle est de nature dynamique.
où trouvez-vous la clé de sécurité réseau
Cela dépend de l'objectif et des exigences du tableau de chaînes. Lorsque nous avons besoin d'un tableau de chaînes de taille fixe et que nous connaissons les données exactes qui entreront dans un tableau de chaînes, nous pouvons alors opter pour un tableau de caractères ou une représentation sous forme de chaîne.
Lorsque nous voulons que le tableau de chaînes augmente ou diminue dynamiquement, nous pouvons recourir à la représentation vectorielle car cela nous aidera à développer des programmes en modifiant dynamiquement le tableau.
Conclusion
Les tableaux de chaînes sont des tableaux spéciaux contenant des données sous forme de chaînes. Cela signifie que chaque élément du tableau est une chaîne terminée par un caractère nul.
Nous avons discuté en détail de trois représentations d'un tableau de chaînes, ainsi que de leurs avantages et inconvénients. En fonction de nos besoins; nous pouvons utiliser n'importe quelle représentation du tableau de chaînes qui convient à notre implémentation.
Dans nos didacticiels suivants, nous continuerons d'explorer en détail les chaînes C ++ et les fonctions C ++.
=> Lisez la série de formations Easy C ++.
lecture recommandée
- Tutoriel Java Array Length avec des exemples de code
- Tutoriel Java String with String Buffer et String Builder
- Tutoriel C # String - Méthodes de chaîne avec des exemples de code
- Fonctions de chaîne Python
- Tableaux C ++ avec des exemples
- Chaînes en C ++ avec des exemples
- Générateur de nombres aléatoires C # et de chaînes aléatoires C # avec exemples de code
- Tri de tas en C ++ avec des exemples