Динамический массив структур - Ошибка "значение int* нельзя использовать для инициализации сущности типа TRGB" - C (СИ)

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

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

требуется создать динамический массив структур, т.е. он не совсем динамический, просто изначально не известно сколько в нем будет элементов, если бы элементы были типа int, я бы сделал так например: int S = new int [10], но при попытке по аналогии сделать массив типа структуры: TRGB S = new int [10], возникает ошибка "значение int* нельзя использовать для инициализации сущности типа TRGB"
п.с.
Листинг программы
  1. struct TRGB
  2. {
  3. int Red;
  4. int Green;
  5. int Blue;
  6. }
хотя это в принципе не суть важно...

Решение задачи: «Динамический массив структур - Ошибка "значение int* нельзя использовать для инициализации сущности типа TRGB"»

textual
Листинг программы
  1. typedef struct{
  2. }TRGB;
  3.  
  4. ...
  5. TRGB *s=(TRGB*)malloc(n*sizeof(TRGB))

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

Объяснение кода:

  1. В начале кода объявляется структура данных TRGB, которая не содержит никаких полей.
  2. Затем, в основной части программы, выделяется память под динамический массив структур TRGB с помощью функции malloc().
  3. Результат выделения памяти присваивается указателю s.
  4. При попытке инициализации динамического массива структур возникает ошибка, так как значение int* нельзя использовать для инициализации сущности типа TRGB (в данном случае структура TRGB пустая).

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


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

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

7   голосов , оценка 4.143 из 5

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

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

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