Динамическое выделение памяти под массив структур - C (СИ)

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

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

Подскажите, пожалуйста, как верно выделить память под массив структур, размер которого вводится в процессе работы программы. Мой вариант не работает:
struct scan_info **input_item;
 
printf ("\nВведите количество записей:\n");
scanf ("%d", &n_of_items);
 
for (i=0;i<n_of_items;i++) input_item[i] = new scan_info;
на 6ой строчке падает с ошибкой:
Run-Time Check Failure #3 - The variable 'input_item' is being used without being initialized.

Решение задачи: «Динамическое выделение памяти под массив структур»

textual
Листинг программы
scan_info *input_item;
 
printf ("\nВведите количество записей:\n");
scanf ("%d", &n_of_items);
 
input_item=new scan_info[n_of_items];

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

  1. Вводится переменная типа scan_info под именем input_item.
  2. Выводится сообщение Введите количество записей:.
  3. Пользователь вводит количество записей с помощью функции scanf и сохраняет его в переменную n_of_items типа int.
  4. С помощью оператора new динамически выделяется память под массив структур scan_info типа scan_info[n_of_items].

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


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

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

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