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

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

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

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

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
#define AMOUNT_STRING 5
#define LENGTH_STRING 32
 
int main()
{
  char *strings[AMOUNT_STRING]; 
 
  for (size_t i = 0; i < AMOUNT_STRING; ++i) {
    strings[i] = malloc(LENGTH_STRING * sizeof(char));
 
    printf("Enter string (< 32 symbols): ");
    gets(strings[i]); 
  }
 
  for (size_t i = 0; i < AMOUNT_STRING; ++i) {
    puts(strings[i]);
 
    free(strings[i]);
  }
}

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

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

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


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

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

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