Создать массив строк, чтобы их можно было менять в процессе работы программы - 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]); } }
Объяснение кода листинга программы
- Подключаются необходимые библиотеки для работы с файлами и памятью
- Определяются две константы: AMOUNT_STRING - количество строк, которые будут созданы, LENGTH_STRING - максимальная длина одной строки в символах
- Создается массив строк типа char*, который будет динамически расширяться при необходимости
- Происходит инициализация каждой строки массива путем выделения памяти под строку с помощью функции malloc
- В цикле происходит запрос пользователю ввести строку, не длиннее 32 символов, с помощью функции gets
- Введенные строки сохраняются в соответствующих элементах массива
- В цикле выводятся на экран все строки массива
- После вывода каждой строки, память, выделенная под эту строку, освобождается с помощью функции free
- Программа завершается
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д