Создать массив строк, чтобы их можно было менять в процессе работы программы - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как сделать массив из 5 строк, чтобы их можно было менять в процессе работы программы?

Решение задачи: «Создать массив строк, чтобы их можно было менять в процессе работы программы»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define AMOUNT_STRING 5
  5. #define LENGTH_STRING 32
  6.  
  7. int main()
  8. {
  9.   char *strings[AMOUNT_STRING];
  10.  
  11.   for (size_t i = 0; i < AMOUNT_STRING; ++i) {
  12.     strings[i] = malloc(LENGTH_STRING * sizeof(char));
  13.  
  14.     printf("Enter string (< 32 symbols): ");
  15.     gets(strings[i]);
  16.   }
  17.  
  18.   for (size_t i = 0; i < AMOUNT_STRING; ++i) {
  19.     puts(strings[i]);
  20.  
  21.     free(strings[i]);
  22.   }
  23. }

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

  1. Подключаются необходимые библиотеки для работы с файлами и памятью
  2. Определяются две константы: AMOUNT_STRING - количество строк, которые будут созданы, LENGTH_STRING - максимальная длина одной строки в символах
  3. Создается массив строк типа char*, который будет динамически расширяться при необходимости
  4. Происходит инициализация каждой строки массива путем выделения памяти под строку с помощью функции malloc
  5. В цикле происходит запрос пользователю ввести строку, не длиннее 32 символов, с помощью функции gets
  6. Введенные строки сохраняются в соответствующих элементах массива
  7. В цикле выводятся на экран все строки массива
  8. После вывода каждой строки, память, выделенная под эту строку, освобождается с помощью функции free
  9. Программа завершается

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы