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

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

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

Вот такой код:
Листинг программы
  1. typedef struct q_query {
  2. char query[]; //тут ошибка
  3. short past_time;
  4. short count;
  5. } dQuery;
Ошибка вот такого содержания:
Листинг программы
  1. 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
Листинг программы
  1. struct some *ptr = malloc(sizeof(struct some) + n * sizeof(short));
  2. //...
  3. 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

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

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

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