ARM Cortex-A9 (ARM v7). Абсолютно не парюсь в каком порядке
располагать поля структуры с точки зрения выравнивания полей и
стабильно использую "указатели на поля структуры". Переставлять
"поля" я могу разве что мне требуется максимум быстродействия. В
"этом" случае есть смысл переставить поля местами {
uint8_t x;
uint32_t y;
uint8_t z; uint16_t k;}
в { uint8_t x;
uint8_t z;
uint16_t k;
uint32_t y;}
дабы занимало меньше места в кеше (если честно я не смотрел во что это нынче компилиться).
пс: {
uint8_t x;
uint32_t y;
} в памяти будет располагаться как {X, pads 3byte, Y}
Смотрите "дизасм"...