Неверный инициализатор: при присвоении значения из структуры в массив структуры - PullRequest
0 голосов
/ 31 октября 2018

Предположим, у меня есть две структуры. Одна структура - это простая структура с набором элементов.

typedef struct __attribute__ ((packed)) {
        float a1;
        float a2;
        uint32_t b1;
        uint32_t b2;
} item;

Другая структура - это просто массив предыдущей структуры item.

typedef struct __attribute__ ((packed)) {
        item item_queue[65000];
} item_arr;

Что мне нужно сделать, так это получить элемент из item_arr и назначить его массиву item s. Я пытаюсь добиться этого таким образом.

item_arr profile_arr[16] = {0};

После присвоения значений profile_arr я назначил элемент из item_arr новому массиву элементов.

item temp_q[65000] = profile_arr[0].item_queue;

Но это дает мне ошибка: неверный инициализатор .

Я неправильно выполняю инициализацию? Любая помощь будет оценена.

1 Ответ

0 голосов
/ 31 октября 2018

Если вы просто хотите скопировать profile_arr[0].item_queue в temp_q, вы можете использовать memcpy.

void * memcpy ( void * destination, const void * source, size_t num );

memcpy(temp_q, profile_arr[0].item_queue, sizeof(temp_q));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...