Как создавать динамический массив строк - 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));
}

Объяснение кода листинга программы

В данном коде происходит создание динамического массива строк.

  1. Объявляются три переменные:
    • pc типа char ** (указатель на указатель на символ), который будет хранить адреса элементов массива строк;
    • nstrok типа int (целое число), которая будет хранить количество строк в массиве;
    • mstolb типа int (целое число), которая будет хранить количество символов в каждой строке.
  2. С помощью функции scanf в переменную nstrok считывается количество строк, которые необходимо создать.
  3. С помощью функции malloc выделяется память под массив указателей на строки. В данном случае, мы выделяем память под nstrok указателей типа char *.
  4. В цикле for с помощью функции scanf в переменную mstolb считывается количество символов в каждой строке.
  5. Внутри цикла for для каждого значения mstolb выделяется память под строку символов с помощью функции malloc. Полученный указатель на строку символов сохраняется в соответствующем элементе массива pc.
  6. Код завершается, и управление передается следующей инструкции в программе.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5
Похожие ответы