У первоисточников : Керниган, Пайк "Практика программирования" 2004 (англ. вариант 1999, 2004) При обсуждении стандарта в главе 8 "Переносимость", 8.1 "Язык" стр 227 : "Выравнивание членов структур и классов. Выравнивание составных элементов внутри структур, классов и объединений не определено полностью; единственно, что сказано по этому поводу,- элементы должны следовать в порядке их объявления."
От себя добавлю: в справочнике по С (Бочков, Субботин, стр 58) сказано, что в Turbo C элементы структуры могут располагаться в памяти в обратном порядке. (Но без изменения порядка !) В Borland C м 2.0 и выше с таким фокусом ни разу не столкнулся.