Array av strängar i C
I C-programmering är String en 1D-array av tecken och definieras som en array av tecken. Men en array av strängar i C är en tvådimensionell array av teckentyper. Varje sträng avslutas med ett nolltecken ( ). Det är en tillämpning av en 2d-array.
Syntax:
char variable_name[r] = {list of string}; Här,
- var_name är namnet på variabeln i C. r är det maximala antalet strängvärden som kan lagras i en strängarray. c är det maximala antalet teckenvärden som kan lagras i varje strängarray.
Exempel:
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;> }> |
Produktion
String array Elements are: Geek Geeks Geekfor
Nedan är representationen av ovanstående program
Vi har 3 rader och 10 kolumner specificerade i vår Array of String, men på grund av förspecificering är storleken på arrayen av strängar utrymmesförbrukningen hög. Så för att undvika hög utrymmesförbrukning i vårt program kan vi använda en Array of Pointers i C.
Ogiltiga operationer i strängar
Vi kan inte direkt ändra eller tilldela värdena till en array av strängar i C.
Exempel:
char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'}; Här är arr[0] = GFG; // Detta kommer att ge ett fel som säger tilldelning till uttryck med en array-typ.
För att ändra värden kan vi använda strcpy()-funktionen i C
strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].
Array av pekare av strängar
I C kan vi använda en Array av pekare. Istället för att ha en 2-dimensionell teckenuppsättning kan vi ha en endimensionell uppsättning av pekare. Här lagras pekaren till det första tecknet i strängen.
Syntax:
char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };
Nedan är C-programmet för att skriva ut en rad pekare:
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;> }> |
Produktion
String array Elements are: Geek Geeks Geekfor