logo

Array af strenge i C

I C-programmering er String en 1-D matrix af tegn og er defineret som en matrix af tegn. Men en række strenge i C er en todimensionel række af tegntyper. Hver streng afsluttes med et nul-tegn ( ). Det er en applikation af et 2d-array.

Syntaks:



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

Her,

    var_navn er navnet på variablen i C. r er det maksimale antal strengværdier, der kan gemmes i en strengmatrix. c er det maksimale antal tegnværdier, der kan gemmes i hver strengmatrix.

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

java switch case
>

>

Produktion

String array Elements are: Geek Geeks Geekfor>

Nedenfor er repræsentationen af ​​ovenstående program

Hukommelsesrepræsentation af række af strenge

Vi har 3 rækker og 10 kolonner specificeret i vores Array of String, men på grund af forudspecificering er størrelsen af ​​arrayet af strenge pladsforbruget højt. Så for at undgå højt pladsforbrug i vores program kan vi bruge en Array of Pointers i C.

Ugyldige operationer i arrays af strenge

Vi kan ikke direkte ændre eller tildele værdierne til en række strenge i C.

Eksempel:

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

Her er arr[0] = GFG; // Dette vil give en fejl, der siger tildeling til udtryk med en matrixtype.

For at ændre værdier kan vi bruge strcpy()-funktionen i C

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

Array af pointere af strenge

I C kan vi bruge en Array af pointere. I stedet for at have et 2-dimensionelt tegnarray, kan vi have et enkeltdimensionelt array af pointere. Her er pointeren til det første tegn i strengen literal gemt.

hvor mange byer i USA

Syntaks:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Array af pointere af strenge

Nedenfor er C-programmet til at udskrive en række pointere:

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

hvad er awt
>

>

Produktion

String array Elements are: Geek Geeks Geekfor>