Myslel jsem, že procesory ARM bez alignu nefungují.
Bohvie čo z toho prekladač na pozadí vygeneroval. Je možné, že každá operácia nad tým nezarovnaným floatom bude odteraz desaťkrát pomalšia než predtým, pretože okolo nej budú ešte inštrukcie na správne poskladanie po načítaní a spätný rozklad pre uloženie.
...
Ak ide len o šetrenie bajtov, tak k tomu by som povedal toľko:
1.) Buď tam v celom programe tá štruktúra bude "napevno" len pár-krát a potom jej veľkosť nemá cenu riešiť.
2.) Alebo bude alokovaná dynamicky a bude v pamäti zaberať nejakú mocninu dvojky. Pokiaľ si dobre pamätám, na 64-bitovom stroji volanie
malloc(5) v skutočnosti alokuje a vráti 32 bajtov.
3.) Alebo štruktúra bude v poli a potom aj tak každý jej výskyt bude zarovnaný na osem bajtov, aj keď sa Ti samotnú štruktúru podarí spakovať na päť.
Samozrejme, má zmysel vedieť, čo sa vnútri deje, aby si vedel správne štruktúru usporiadať. Mať ako prvý prvok char[1] a za ním niečo iné ako char je naozaj zlý dizajn.