Стандарт 2018 C гласит в 6.2.6.1 2:
За исключением битовых полей, объекты состоят из непрерывных последовательностей из одного или нескольких байтов, числа, порядка и кодировки из которых явно определены [в стандарте C] или определены реализацией.
Стандарт обеспечивает гибкость реализации с помощью битовых полей. Как правило, последовательные битовые поля могут совместно использовать части байтов, или реализация может разделять их и оставлять некоторые биты неиспользованными.
Взятие адреса объекта в C дает указатель. Указатели в C указывают на целые объекты; не делается никаких различий в отношении того байта, на который они указывают, за исключением объектов, которые сами являются однобайтовыми, конечно Когда указатель преобразуется в указатель на символьный тип, результатом является указатель на младший байт в объекте (согласно 6.3.2.3 7). Однако это не означает, что исходный указатель был представлен с этим адресом.