Разъяснение о семантике упорядочения битовых полей в C

У меня проблемы с пониманием точного значения параграфа проекта стандарта C99 (N1256) о битовых полях (6.7.2.1:10):

6.7.2.1 Структура и объединение спецификаторов

[...]

Семантика

[...]

Реализация может выделить любую адресуемую единицу хранения, достаточно большую, чтобы содержать битовое поле. Если остается достаточно места, битовое поле, которое следует сразу за другим битовым полем в структуре, должно быть упаковано в смежные биты той же единицы. Если остается недостаточно места, определяется ли битовое поле, которое не умещается, в следующем блоке или перекрывает смежные блоки, определяется реализацией.Порядок распределения битовых полей в блоке (от старшего к младшему или от младшего к старшему) определяется реализацией. Выравнивание адресуемой единицы хранения не определено.

Подчеркнутое предложение расширяет мои знания английского языка до предела: я не понимаю, относится ли оно к отдельным битовым полям внутри блока или к порядку битов внутри отдельных битовых полей или к чему-то еще.

Я попытаюсь прояснить мои сомнения на примере. Предположим, что беззнаковые целые числа - 16 бит, что реализация выбирает беззнаковое целое как адресуемую единицу хранения (и что байты имеют ширину 8 бит), и никаких других проблем выравнивания или заполнения не возникает:

struct Foo {
    unsigned int x : 8;
    unsigned int y : 8;
};

таким образом, предполагаяx а такжеy поля хранятся внутри одного блока, что определяется реализацией согласно этому предложению? Насколько я понимаю, это означает, что внутри этого неподписанного блока int,x может храниться либо по более низкому адресу, чемy или наоборот, но я не уверен, поскольку интуитивно я думаю, что если никакие битовые поля не перекрываются с двумя базовыми блоками хранения, порядок объявления наложит одинаковый порядок для базовых битовых полей.

ЗаписьБоюсь, что мне здесь не хватает какой-то тонкости терминологии (или, что еще хуже, технической), но я не мог понять, какая именно.

Любой указатель оценен. Спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос