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

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

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

Есть структура
Листинг программы
  1. struct DATA {
  2. char number[KOLTEAM];
  3. char name[KOLNAME];
  4. char team[KOLTEAM];
  5. int point1;
  6. int point2;
  7. };
Пытаюсь выделить под массив структур память так:
Листинг программы
  1. while (fgets((char *)&p,sizeof(struct DATA),file))
  2. n++;
  3. struct DATA *tek;
  4. tek=malloc(n*sizeof(struct DATA));
Выдает ошибку, что переменной tek сущности DATA не может быть присвоино значение функции malloc Как выделить память под массив струкрур другим способом или исправить этот?

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

textual
Листинг программы
  1. tek=(struct DATA*)malloc(n*sizeof(struct DATA));

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

В данном коде происходит динамическое выделение памяти под массив структур. Код выполняет следующие действия:

  1. Выделяет память под массив структур tek с помощью функции malloc().
  2. n - это количество элементов, которые нужно разместить в массиве структур.
  3. sizeof(struct DATA) - это размер одного элемента массива структур в байтах.
  4. struct DATA - это структура данных, которую нужно разместить в массиве.

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


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

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

13   голосов , оценка 3.692 из 5

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

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

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