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

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

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

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

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

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

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

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

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

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

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