string array c implementation representation with examples
Un array di stringhe in C ++ è un array di stringhe. In questo tutorial, approfondiremo i dettagli della rappresentazione e implementazione di array di stringhe in C ++:
Abbiamo visto array in C ++ nei nostri tutorial precedenti. Gli array ci consentono di dichiarare elementi di dati di vario tipo. Mentre tutti gli array di tipi di dati numerici sono identici nelle operazioni e nell'implementazione, e gli array con il tipo di dati stringa sono diversi.
app timesheet per android e iphone
In C ++, la stringa può essere rappresentata come un array di caratteri o utilizzando la classe stringa supportata da C ++. Ogni stringa o elemento di matrice viene terminato da un carattere null. La rappresentazione di stringhe utilizzando un array di caratteri viene presa direttamente dal linguaggio 'C' poiché non esiste un tipo di stringa in C.
=> Fare clic qui per il corso C ++ gratuito.
Cosa imparerai:
- Implementazione di array di stringhe
- Come selezionare la rappresentazione da utilizzare?
- Conclusione
Implementazione di array di stringhe
In C ++, le stringhe possono essere rappresentate utilizzando tre modi.
- Utilizzo di matrici di caratteri bidimensionali: Questa rappresentazione utilizza le matrici bidimensionali in cui ogni elemento è l'intersezione di un numero di riga e di colonna e rappresenta una stringa
- Utilizzo della parola chiave stringa: Possiamo anche usare la parola chiave string di C ++ per dichiarare e definire array di stringhe.
- Utilizzo dei vettori STL: Possiamo usare vettori STL in cui ogni elemento di un vettore è una stringa.
Ora, esaminiamo ciascuno dei metodi precedenti e vediamo anche gli esempi di programmazione per ciascuna rappresentazione.
Utilizzo di matrici di caratteri bidimensionali
Gli array di stringhe o un array di stringhe possono essere rappresentati utilizzando una forma speciale di array bidimensionali. In questa rappresentazione, utilizziamo un array bidimensionale di caratteri di tipo per rappresentare una stringa.
La prima dimensione specifica il numero di elementi, ovvero le stringhe in quell'array e la seconda dimensione specifica la lunghezza massima di ogni elemento nell'array.
Quindi possiamo usare una rappresentazione generale come mostrato di seguito.
char “stringarrayname” (“number of strings”) (“maximum length of the string”)Per esempio,considera la seguente dichiarazione:
char string_array(10) (20);La dichiarazione precedente dichiara un array di stringhe chiamato 'string_array' che ha 10 elementi e la lunghezza di ogni elemento non è superiore a 20.
Possiamo dichiarare e inizializzare un array di animali usando le stringhe nel modo seguente:
char animals (5) (10) = {“Lion”, “Tiger”, “Deer”, “Ape”, “Kangaroo”};Vediamo un esempio di programmazione che utilizza il concetto di array di caratteri bidimensionali per comprendere meglio il concetto.
#include using namespace std; int main() { char strArray(5) (6) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produzione:

Nel programma sopra, abbiamo dichiarato un array di stringhe chiamato strArray di dimensione 5 con la lunghezza massima di ogni elemento pari a 10. Nel programma, iniziamo un ciclo for per visualizzare ogni elemento dell'array. Nota che dobbiamo solo accedere all'array utilizzando la prima dimensione per visualizzare l'elemento.
Il facile accesso agli elementi è uno dei principali vantaggi degli array 2-D. Sono davvero semplici da programmare.
Il principale svantaggio di questo tipo di rappresentazione è che sia le dimensioni dell'array, ovvero il numero di elementi, sia la lunghezza massima dell'elemento sono fisse e non possono essere modificate come vogliamo.
In secondo luogo, specifichiamo la lunghezza massima di ogni elemento come seconda dimensione durante la dichiarazione dell'array. Se la lunghezza della stringa è specificata come 100 e abbiamo tutti gli elementi di lunghezza inferiore, la memoria viene sprecata.
Utilizzo della parola chiave stringa
In questo, usiamo la parola chiave 'stringa' in C ++ per dichiarare un array di stringhe. A differenza degli array di caratteri, qui abbiamo solo array 1D. L'unica dimensione specifica il numero di stringhe nell'array.
Di seguito viene fornita la sintassi generale per una dichiarazione di array di stringhe utilizzando la parola chiave string:
qual è il miglior provider di posta elettronica
string “array name” (“number of strings”);Nota che non specifichiamo qui la lunghezza massima della stringa. Ciò significa che non ci sono limiti alla lunghezza degli elementi dell'array.
Ad esempio, possiamo dichiarare un array di nomi di colori nel modo seguente.
string colors(5); Possiamo inizializzare ulteriormente questo array come mostrato di seguito:
string colors(5) = {“Red”, “Green”, “Blue”, “Orange”, “Brown”}; Di seguito è riportato un programma C ++ per comprendere la parola chiave string e il suo utilizzo in un array di stringhe.
#include using namespace std; int main() { string numArray(5) = {'one', 'two', 'three', 'four', 'five'}; cout<<'String array is as follows:'< Produzione:

Abbiamo modificato il nostro precedente programma di array di caratteri e dimostrato l'uso della parola chiave stringa. L'output del programma è lo stesso, ma il modo in cui viene ottenuto è diverso poiché definiamo un array di stringhe utilizzando la parola chiave string.
Si noti che l'array di stringhe che utilizza la parola chiave string ha un vantaggio in quanto non abbiamo limitazioni sulla lunghezza delle stringhe nell'array. Poiché non ci sono limitazioni, non sprechiamo anche spazio di memoria.
L'aspetto negativo è che questo array ha una dimensione fissa. Dobbiamo dichiarare in anticipo la dimensione dell'array.
Utilizzo dei vettori STL
Possiamo anche usare vettori STL per dichiarare e definire array dinamici. Quindi per definire un array di stringhe possiamo avere un vettore STL di tipo string.
Questa dichiarazione di un array di stringhe che utilizza vector è mostrata di seguito:
vector “stringarray_Name”; Facendo riferimento alla dichiarazione di cui sopra, possiamo dichiarare un vettore 'soggetti' nel modo seguente:
vector mysubjects;Si noti che possiamo assegnare elementi al vettore utilizzando il metodo 'push_back' o qualsiasi altro metodo vettoriale STL.
Di seguito è riportato un esempio di programmazione che utilizza C ++ per dimostrare l'utilizzo del vettore STL per rappresentare un array di stringhe.
#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:'< Produzione:

Nel programma precedente, abbiamo un vettore STL myNumbers di tipo string. Successivamente, aggiungiamo elementi a questo vettore utilizzando il metodo push_back e quindi visualizziamo ciascuno degli elementi del vettore.
Se vediamo l'intero funzionamento del vettore STL e dell'array di stringhe, vediamo che in questo caso non abbiamo un limite al numero di elementi nell'array o alla lunghezza massima di ogni elemento. Vediamo che l'array di stringhe che utilizza i vettori è completamente dinamico e può essere ridotto o aumentato dinamicamente.
Come selezionare la rappresentazione da utilizzare?
Ora che abbiamo visto tutte e tre le rappresentazioni di array di stringhe, possiamo concludere che di tutte e tre le rappresentazioni, la rappresentazione vettoriale è la migliore in quanto è di natura dinamica.
Dipende dallo scopo e dai requisiti dell'array di stringhe. Quando abbiamo il requisito di aver bisogno di un array di stringhe di dimensioni fisse e conosciamo i dati esatti che andranno in un array di stringhe, possiamo optare per l'array di caratteri o la rappresentazione di stringa.
Quando vogliamo che l'array di stringhe cresca o si riduca dinamicamente, possiamo ricorrere alla rappresentazione vettoriale poiché ci aiuterà a sviluppare programmi cambiando dinamicamente l'array.
Conclusione
Gli array di stringhe sono array speciali che contengono dati come stringhe. Ciò significa che ogni elemento dell'array è una stringa terminata da un carattere nullo.
Abbiamo discusso in dettaglio tre rappresentazioni di un array di stringhe insieme ai loro pro e contro. A seconda delle nostre esigenze; possiamo usare qualsiasi rappresentazione dell'array di stringhe che si adatta alla nostra implementazione.
Nelle nostre esercitazioni successive, continueremo ad esplorare in dettaglio le stringhe C ++ e le funzioni C ++.
=> Leggi la serie di formazione Easy C ++.
Lettura consigliata
- Tutorial sulla lunghezza di array Java con esempi di codice
- Java String con String Buffer e String Builder Tutorial
- Esercitazione sulle stringhe in C # - Metodi sulle stringhe con esempi di codice
- Funzioni stringa Python
- Array C ++ con esempi
- Stringhe in C ++ con esempi
- Generatore di numeri casuali C # e stringhe casuali C # con esempi di codice
- Ordinamento heap in C ++ con esempi


