logo

En rekke strenger i C

I C-programmering er streng en 1D-array av tegn og er definert som en rekke tegn. Men en rekke strenger i C er en todimensjonal rekke karaktertyper. Hver streng avsluttes med et nulltegn ( ). Det er en applikasjon av en 2d-array.

Syntaks:

maskinspråk
char variable_name[r] = {list of string};>

Her,



    var_name er navnet på variabelen i C. r er det maksimale antallet strengverdier som kan lagres i en strengmatrise. c er det maksimale antallet tegnverdier som kan lagres i hver strengmatrise.

Eksempel:

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;> }>

gruppering
>

>

Produksjon

String array Elements are: Geek Geeks Geekfor>

Nedenfor er representasjonen av programmet ovenfor

Memory Representation of Array of Strings

Vi har 3 rader og 10 kolonner spesifisert i vår Array of String, men på grunn av forhåndsspesifikasjon, størrelsen på arrayen av strenger, er plassforbruket høyt. Så for å unngå høyt plassforbruk i programmet vårt kan vi bruke en Array of Pointers i C.

Ugyldige operasjoner i matriser av strenger

Vi kan ikke direkte endre eller tilordne verdiene til en rekke strenger i C.

Eksempel:

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

Her er arr[0] = GFG; // Dette vil gi en feil som sier tilordning til uttrykk med en matrisetype.

For å endre verdier kan vi bruke strcpy()-funksjonen i C

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

En rekke pekere av strenger

I C kan vi bruke en Array av pekere. I stedet for å ha en 2-dimensjonal tegnarray, kan vi ha en endimensjonal matrise med pekere. Her lagres pekeren til det første tegnet i strengen.

hvor mange byer i USA

Syntaks:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
En rekke pekere av strenger

Nedenfor er C-programmet for å skrive ut en rekke pekere:

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;> }>

partielle derivater i lateks
>

>

Produksjon

String array Elements are: Geek Geeks Geekfor>