Как можно представить объедение union для массива и разбиением каждой ячейки массива на младший и старший разряды
Мне нужно сделать объедение union для массива. К каждой ячейки массива должен быть доступ с старшему и младшему байту. Попытался сделать вот так:
typedef union{
uint16_t word[32];
struct{
uint8_t Ho[32];
uint8_t Lo[32];
};
} _DIO_MIN;
Получил следующею раскладку сначала идут слова word потом Ho потом Lo. А должно быть что каждая ячейка word[] могла раскладываться на Ho и Lo.
После эта структура помещается в структуру:
typedef struct DIO{
_DIO_MIN DIO_MIN[63];
_DIO_MID DIO_MID[32];
} _SysMem;
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Так годится?
typedef union
{
uint16_t word;
struct {
uint8_t lo;
uint8_t hi;
};
} array[32];
Пример тут.