Атрибуты выравнивания в основном используются при выделении памяти для структур данных, которые содержат в себе "разношерстные" типы по своему размеру или длине, часто называемой размерностью типов. Так же использование таких атрибутов позволяет избежать разрыва последовательности бинарного кода и целостности данных в операциях чтения и записи из-за неверного определения размера получаемых данных.
Читать далее, https://rjaan.narod.ru/docs/gnucs/extensions/How-to-use-alignment.html