Flexible array member not at end of struct - C (СИ)

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

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

Вот такой код:
typedef struct q_query {
    char query[]; //тут ошибка
    short past_time;
    short count;
} dQuery;
Ошибка вот такого содержания:
C:\MyLang\C\db\mainvar.h|2|error: flexible array member not at end of struct|
Почему? В Чем проблема?

Решение задачи: «Flexible array member not at end of struct»

textual
Листинг программы
struct some *ptr = malloc(sizeof(struct some) + n * sizeof(short));
//...
struct some wrong_copy = *ptr;

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

  1. Объявляется структура some с гибким массивом array (предполагается, что array может содержать переменное количество элементов).
  2. Создается указатель ptr на структуру some.
  3. С помощью функции malloc выделяется память под структуру some и n элементов массива array (предполагается, что n известно на этапе компиляции).
  4. Создается копия структуры some с именем wrong_copy из указателя ptr.
  5. ... (код не предоставлен)

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


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

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

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