По идее, все должно работать - в C поля в структуре размещаются строго в порядке описания и дополняются прокладками только до границы выравнивания. Впрочем, лучше почитать текст последнего стандарта :)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)