În programarea C String este o matrice 1-D de caractere și este definită ca o matrice de caractere. Dar o matrice de șiruri în C este o matrice bidimensională de tipuri de caractere. Fiecare șir este terminat cu un caracter nul ( ). Este o aplicație a unui tablou 2d.
Sintaxă:
nbsp
char variable_name[r] = {list of string};> Aici,
- var_name este numele variabilei din C. r este numărul maxim de valori de șir care pot fi stocate într-o matrice de șiruri. c este numărul maxim de valori de caractere care pot fi stocate în fiecare matrice de șiruri.
Exemplu:
C
// 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;> }> |
>
>
starea gitIeșire
String array Elements are: Geek Geeks Geekfor>
Mai jos este reprezentarea programului de mai sus
Avem 3 rânduri și 10 coloane specificate în Array of String, dar din cauza prespecificării, dimensiunea matricei de șiruri, consumul de spațiu este mare. Deci, pentru a evita un consum mare de spațiu în programul nostru, putem folosi o matrice de pointeri în C.
Operații nevalide în matrice de șiruri
Nu putem schimba direct sau aloca valorile unei matrice de șiruri în C.
Exemplu:
char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'};> Aici, arr[0] = GFG; // Aceasta va da o eroare care spune atribuirea expresiei cu un tip de matrice.
Pentru a schimba valorile putem folosi funcția strcpy() în C
strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].>
Matrice de pointeri de șiruri
În C putem folosi un Array de pointeri. În loc să avem o matrice de caractere bidimensională, putem avea o matrice unidimensională de Pointeri. Aici este stocat indicatorul către primul caracter al literalului șir.
Sintaxă:
ce este mac os
char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Mai jos este programul C pentru a imprima o serie de pointeri:
C
// 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;> }> |
>
plutește la sfoară
>Ieșire
String array Elements are: Geek Geeks Geekfor>