Как создавать динамический массив строк - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, разобраться, как создавать динамический массив строк. Количество строк неизвестно, строки имеют ограничение по длине MAXLEN
Решение задачи: «Как создавать динамический массив строк»
textual
Листинг программы
char **pc; int nstrok,mstolb,i; scanf("%d",&nstrok); pc=(char**)malloc(nstrok*sizeof(char*)); for(i=0;i<nstrok;i++) { scanf("%d",&mstolb); pc[i]=(char*)malloc(mstolb*sizeof(char)); }
Объяснение кода листинга программы
В данном коде происходит создание динамического массива строк.
- Объявляются три переменные:
pc
типаchar **
(указатель на указатель на символ), который будет хранить адреса элементов массива строк;nstrok
типаint
(целое число), которая будет хранить количество строк в массиве;mstolb
типаint
(целое число), которая будет хранить количество символов в каждой строке.
- С помощью функции
scanf
в переменнуюnstrok
считывается количество строк, которые необходимо создать. - С помощью функции
malloc
выделяется память под массив указателей на строки. В данном случае, мы выделяем память подnstrok
указателей типаchar *
. - В цикле
for
с помощью функцииscanf
в переменнуюmstolb
считывается количество символов в каждой строке. - Внутри цикла
for
для каждого значенияmstolb
выделяется память под строку символов с помощью функцииmalloc
. Полученный указатель на строку символов сохраняется в соответствующем элементе массиваpc
. - Код завершается, и управление передается следующей инструкции в программе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д