Масив рядків у C

Масив рядків у 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