Может ли кто-нибудь дать мне короткое и правдоподобное объяснение того, почему компилятор добавляет дополнение к структурам данных, чтобы выровнять его элементы? Я знаю, что это сделано для того, чтобы процессор мог получить доступ к данным более эффективно, но я не понимаю, почему это так.
И если это только связано с процессором, почему двойной байт выровнен в Linux и 8 байт выровнены в Windows?