string array c implementation representation with examples
Una matriu de cadenes en C ++ és una matriu de cadenes. En aquest tutorial, aprofundirem en els detalls de la representació i implementació de matrius de cadenes en C ++:
Hem vist matrius a C ++ als nostres tutorials anteriors. Les matrius ens permeten declarar elements de dades de diversos tipus. Tot i que totes les matrius de tipus de dades numèriques són idèntiques en operacions i implementació, i les matrius amb tipus de dades de cadena són diferents.
el millor descarregador de música mp3 per a Android
A C ++, la cadena es pot representar com una matriu de caràcters o mitjançant una classe de cadena que és compatible amb C ++. Cada element de cadena o matriu finalitza amb un caràcter nul. Representar cadenes mitjançant una matriu de caràcters es pren directament del llenguatge 'C', ja que no hi ha cap tipus de cadena a C.
=> Feu clic aquí per obtenir el curs gratuït de C ++.
Què aprendreu:
Implementació de matrius de cadenes
A C ++, les cadenes es poden representar de tres maneres.
- Ús de matrius de caràcters bidimensionals: Aquesta representació utilitza les matrius bidimensionals on cada element és la intersecció d'una fila i un número de columna i representa una cadena
- Ús de la paraula clau de cadena: També podem utilitzar la paraula clau de cadena de C ++ per declarar i definir matrius de cadenes.
- Ús de vectors STL: Podem utilitzar vectors STL en què cada element d’un vector és una cadena.
Ara, parlem de cadascun dels mètodes anteriors i també veiem els exemples de programació de cada representació.
Ús de matrius de caràcters bidimensionals
Es poden representar matrius de cadenes o una matriu de cadenes mitjançant una forma especial de matrius bidimensionals. En aquesta representació, fem servir una matriu bidimensional de caràcters tipus per representar una cadena.
La primera dimensió especifica el nombre d’elements, és a dir, les cadenes d’aquesta matriu i la segona dimensió especifica la longitud màxima de cada element de la matriu.
Per tant, podem utilitzar una representació general com es mostra a continuació.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)
Per exemple,tingueu en compte la declaració següent:
char string_array(10) (20);
La declaració anterior declara una matriu de cadenes anomenada 'string_array' que té 10 elements i la longitud de cada element no és superior a 20.
Podem declarar i inicialitzar una sèrie d’animals mitjançant cordes de la següent manera:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};
Vegem un exemple de programació que utilitza el concepte de matrius de caràcters bidimensionals per entendre millor el concepte.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Sortida:

En el programa anterior, hem declarat una matriu de cadenes anomenada strArray de mida 5 amb la longitud màxima de cada element com a 10. Al programa, iniciem un bucle for per mostrar cada element de la matriu. Tingueu en compte que només hem d’accedir a la matriu mitjançant la primera dimensió per mostrar l’element.
El fàcil accés als elements és un dels avantatges principals de les matrius 2-D. De fet, són senzills de programar.
El principal inconvenient d’aquest tipus de representació és que tant les dimensions de la matriu, és a dir, el nombre d’elements com la longitud màxima de l’element són fixes i no es poden canviar com volem.
En segon lloc, especifiquem la longitud màxima de cada element com a segona dimensió durant la declaració de la matriu. Si s’especifica la longitud de la cadena com a 100 i tenim tots els elements de menor longitud, llavors es perd la memòria.
Utilitzant una paraula clau de cadena
En això, fem servir la paraula clau 'cadena' a C ++ per declarar una matriu de cadenes. A diferència de les matrius de caràcters, aquí només tenim una matriu 1D. L'única dimensió especifica el nombre de cadenes de la matriu.
A continuació es mostra la sintaxi general d’una declaració de matriu de cadenes que utilitza la paraula clau de cadena:
string “array name” (“number of strings”);
Tingueu en compte que aquí no especifiquem la longitud màxima de la cadena. Això significa que no hi ha limitacions en la longitud dels elements de la matriu.
Com a exemple, podem declarar una matriu de noms de colors de la següent manera.
string colors(5);
Podem inicialitzar aquesta matriu com es mostra a continuació:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”};
A continuació es mostra un programa C ++ per entendre la paraula clau de cadena i el seu ús en una sèrie de cadenes.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Sortida:

Hem modificat el nostre programa anterior de matriu de caràcters i hem demostrat l’ús de paraules clau de cadena. La sortida del programa és la mateixa, però la manera com s’aconsegueix és diferent ja que definim una matriu de cadenes mitjançant la paraula clau cadena.
Tingueu en compte que la matriu de cadenes que utilitza la paraula clau de cadena té un avantatge en què no tenim limitacions sobre la longitud de les cadenes de la matriu. Com que no hi ha limitacions, tampoc malgastem espai de memòria.
A la part negativa, aquesta matriu té una mida fixa. Hem de declarar prèviament la mida de la matriu.
Ús de vectors STL
També podem utilitzar vectors STL per declarar i definir matrius dinàmics. Així, per definir una matriu de cadenes podem tenir un vector STL de tipus cadena.
A continuació es mostra aquesta declaració d’una matriu de cadenes que utilitza vector:
com executar un fitxer torrent
vector “stringarray_Name”;
En referència a la declaració anterior, podem declarar un vector 'subjectes' de la següent manera:
vector mysubjects;
Tingueu en compte que podem assignar elements al vector mitjançant el mètode “push_back” o qualsevol altre mètode vectorial STL.
A continuació es mostra un exemple de programació que utilitza C ++ per demostrar l’ús del vector STL per representar una matriu de cadenes.
#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:'< Sortida:

Al programa anterior, tenim un vector STL myNumbers de tipus string. A continuació, afegim elements a aquest vector mitjançant el mètode push_back i, a continuació, mostrem cadascun dels elements del vector.
Si veiem tot el funcionament del vector STL i de la matriu de cadenes, veiem que en aquest cas no tenim un límit en el nombre d'elements de la matriu ni en la longitud màxima de cada element. Veiem que la matriu de cadenes que utilitzen vectors és completament dinàmica i es pot reduir o augmentar dinàmicament.
Com seleccionar la representació a utilitzar?
Ara que hem vist totes les tres representacions de matrius de cadenes, podem concloure que de les tres representacions, la representació vectorial és la millor, ja que té una naturalesa dinàmica.
Depèn del propòsit i dels requisits de la matriu de cadenes. Quan tenim el requisit que necessitem una matriu de cadena de mida fixa i sabem les dades exactes que entraran en una matriu de cadenes, podem optar per la matriu de caràcters o la representació de cadena.
Quan volem que la matriu de cadenes creixi o es redueixi dinàmicament, podem recórrer a la representació vectorial, ja que ens ajudarà a desenvolupar programes canviant dinàmicament la matriu.
Conclusió
Les matrius de cadenes són matrius especials que tenen dades com a cadenes. Això significa que cada element de la matriu és una cadena acabada per un caràcter nul.
Hem discutit detalladament tres representacions d'una matriu de cadenes juntament amb els seus pros i contres. Depenent de les nostres necessitats; podem utilitzar qualsevol representació de la matriu de cadena que s’adapti a la nostra implementació.
En els nostres tutorials posteriors, continuarem explorant detalladament les cadenes C ++ i les funcions C ++.
=> Llegiu la sèrie de formació Easy C ++.
Lectura recomanada
- Tutorial de longitud de matriu de Java amb exemples de codi
- Java String amb buffer de cadenes i tutorial de Generador de cadenes
- Tutorial de cadenes C #: mètodes de cadenes amb exemples de codi
- Funcions de cadena de Python
- Matrius C ++ amb exemples
- Cadenes en C ++ amb exemples
- C # Número aleatori i generador de cadenes aleatòries C # amb exemples de codi
- Ordena en pila en C ++ amb exemples