В программировании типично использование массивов строк. Например, процессор ввода в базу данных может проверять команды пользователя в строковом массиве. Для создания массива строк используется двумерный массив символов. Левый индекс определяет число строк, а правый индекс – максимальное число символов в каждой строке. Данный фрагмент кода объявляет массив из 30 строк, каждая может содержать до 79 символов включительно:
char str_array [30] [80];
Доступ к отдельным строкам очень прост – необходимо написать имя массива только с левым индексом. Например:
gets(str_array[2]);
Данная строка эквивалентна
gets(&str_array[2][0]);
но предыдущий вариант более типичен при написании профессиональных программ.
Рассмотрим программу, использующую массив как основу простейшего текстового редактора.
#include <stdio.h>
#define MAX 100
#define LEN 255
char text[MAX][LEN];
/* простейший текстовый редактор*/
int main()
{
register int t, i, j;
for(t=0; t<MAX; t++) {
printf("%d: ", t);
gets(text[t]);
if(!*text[t]) break;/*выход по пустой строке*/
}
/*посимвольный вывод текста*/
for(i=0; i<t; i++) {
for(j=0; text[i][j]; j++)
printf("%c",text[i][j]);
printf("%c", '\n');
}
getchar();
return 0;
}
Данная программа осуществляет ввод текста, пока не встретится пустая строка. Затем она отображает каждую строку. В целях иллюстрации она выводит текст посимвольно, с использованием правого индекса.