Массив строк в C

Опубликовано: 6 Января, 2023

В программировании C String представляет собой одномерный массив символов и определяется как массив символов. Но массив строк в C — это двумерный массив типов символов. Каждая строка заканчивается нулевым символом (). Это приложение двумерного массива.

Синтаксис:

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

Здесь,

  • var_name — это имя переменной в C.
  • r — максимальное количество строковых значений, которое может храниться в массиве строк.
  • c — максимальное количество значений символов, которое может храниться в каждом массиве строк.

Пример:

Ниже представлено представление вышеуказанной программы.

У нас есть 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