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