logo

Tablica ciągów w C

W programowaniu C ciąg znaków jest tablicą 1-D znaków i jest definiowany jako tablica znaków. Ale tablica ciągów w C jest dwuwymiarową tablicą typów znaków. Każdy ciąg znaków jest zakończony znakiem null ( ). Jest to zastosowanie tablicy 2D.

Składnia:



Zamień wszystko
char variable_name[r] = {list of string};>

Tutaj,

    nazwa_zmiennej to nazwa zmiennej w C. r to maksymalna liczba wartości łańcuchowych, które można przechowywać w tablicy ciągów. c to maksymalna liczba wartości znaków, które można przechowywać w każdej tablicy ciągów.

Przykład:

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

kolejka priorytetowa
>

>

Wyjście

String array Elements are: Geek Geeks Geekfor>

Poniżej znajduje się reprezentacja powyższego programu

Reprezentacja pamięci tablicy ciągów

Mamy 3 wiersze i 10 kolumn określone w naszej Array of String, ale ze względu na wstępne określenie rozmiaru tablicy ciągów, zużycie miejsca jest wysokie. Aby więc uniknąć dużego zużycia miejsca w naszym programie, możemy użyć tablicy wskaźników w C.

Nieprawidłowe operacje na tablicach ciągów

Nie możemy bezpośrednio zmieniać ani przypisywać wartości do tablicy ciągów w C.

Przykład:

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

Tutaj arr[0] = GFG; // Spowoduje to błąd informujący o przypisaniu do wyrażenia o typie tablicy.

Aby zmienić wartości, możemy użyć funkcji strcpy() w C

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

Tablica wskaźników ciągów

W C możemy używać tablicy wskaźników. Zamiast dwuwymiarowej tablicy znaków, możemy mieć jednowymiarową tablicę wskaźników. Tutaj przechowywany jest wskaźnik do pierwszego znaku literału ciągu.

liczba pierwsza java

Składnia:

char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };>
Tablica wskaźników ciągów

Poniżej znajduje się program w C, który wypisuje tablicę wskaźników:

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

odwracanie ciągu Java
>

>

Wyjście

String array Elements are: Geek Geeks Geekfor>