Масив рядків у C
У програмуванні C String є одновимірним масивом символів і визначається як масив символів. Але масив рядків у C — це двовимірний масив типів символів. Кожен рядок завершується нульовим символом ( ). Це застосування двовимірного масиву.
Синтаксис:
char variable_name[r] = {list of string}; тут,
- var_name — ім’я змінної в C. r — максимальна кількість рядкових значень, які можна зберегти в рядковому масиві. c — максимальна кількість символьних значень, які можуть зберігатися в кожному масиві рядків.
приклад:
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;> }> |
Вихід
String array Elements are: Geek Geeks Geekfor
Нижче представлено представлення вищезгаданої програми
Ми маємо 3 рядки та 10 стовпців, указані в нашому масиві рядків, але через попереднє визначення розміру масиву рядків споживання місця є високим. Отже, щоб уникнути великого споживання простору в нашій програмі, ми можемо використовувати масив покажчиків у C.
Недійсні операції в масивах рядків
Ми не можемо безпосередньо змінити або призначити значення масиву рядків у C.
приклад:
char arr[3][10] = {'Geek', 'Geeks', 'Geekfor'}; Тут arr[0] = GFG; // Це дасть повідомлення про помилку, яка говорить про призначення виразу з типом масиву.
Щоб змінити значення, ми можемо використовувати функцію strcpy() у C
strcpy(arr[0],'GFG'); // This will copy the value to the arr[0].
Масив покажчиків на рядки
У C ми можемо використовувати масив покажчиків. Замість того, щоб мати двовимірний масив символів, ми можемо мати одновимірний масив покажчиків. Тут зберігається покажчик на перший символ рядкового літералу.
Синтаксис:
char *arr[] = { 'Geek', 'Geeks', 'Geekfor' };
Нижче наведено програму C для друку масиву покажчиків:
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;> }> |
Вихід
String array Elements are: Geek Geeks Geekfor