logo

Matrice di stringhe in C

Nella programmazione C String è un array di caratteri 1-D ed è definito come un array di caratteri. Ma un array di stringhe in C è un array bidimensionale di tipi di caratteri. Ogni stringa termina con un carattere nullo ( ). È un'applicazione di un array 2D.

Sintassi:

polimorfismo
char variable_name[r] = {list of string};>

Qui,



    var_name è il nome della variabile in C. r è il numero massimo di valori stringa che possono essere archiviati in un array di stringhe. c è il numero massimo di valori di caratteri che possono essere archiviati in ogni matrice di stringhe.

Esempio:

C




il perno del panda
// C Program to print Array> // of strings> #include> // Driver code> int> main()> {> >char> arr[3][10] = {>'Geek'>,> >'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

>

>

Produzione

String array Elements are: Geek Geeks Geekfor>

Di seguito è riportata la rappresentazione del programma di cui sopra

Rappresentazione della memoria di array di stringhe

Abbiamo 3 righe e 10 colonne specificate nel nostro array di stringhe ma a causa della prespecificazione, la dimensione dell'array di stringhe comporta un consumo di spazio elevato. Quindi, per evitare un elevato consumo di spazio nel nostro programma possiamo utilizzare un Array of Pointers in C.

Operazioni non valide in matrici di stringhe

Non possiamo modificare o assegnare direttamente i valori a un array di stringhe in C.

Esempio:

 char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};>

Qui, arr[0] = GFG; // Ciò restituirà un errore che indica l'assegnazione all'espressione con un tipo di array.

Per modificare i valori possiamo usare la funzione strcpy() in C

 strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>

Matrice di puntatori di stringhe

In C possiamo usare un array di puntatori. Invece di avere un array di caratteri bidimensionale, possiamo avere un array di puntatori unidimensionale. Qui viene memorizzato il puntatore al primo carattere della stringa letterale.

Sintassi:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Matrice di puntatori di stringhe

Di seguito è riportato il programma C per stampare una serie di puntatori:

Unità logica aritmetica

C

una classe astratta può avere un costruttore




// C Program to print Array> // of Pointers> #include> // Driver code> int> main()> {> >char> *arr[] = {>'Geek'>,>'Geeks'>,>'Geekfor'>};> >printf>(>'String array Elements are: '>);> > >for> (>int> i = 0; i <3; i++)> >{> >printf>(>'%s '>, arr[i]);> >}> >return> 0;> }>

>

>

Produzione

String array Elements are: Geek Geeks Geekfor>