logo

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:

java metoder
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

gjut sträng till int
String array Elements are: Geek Geeks Geekfor>

Nedan är representationen av ovanstående program

Minnesrepresentation av Array of Strings

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.

"kruskals algoritm"

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' };>
Array av pekare av strängar

Nedan är C-programmet för att skriva ut en rad pekare:

C


java objektsjämlikhet



// 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>