Хотя я понимаю, как padding обычно работает в структуре C, я изо всех сил пытаюсь понять, как внутренняя структура дополняется. Пример:
struct inner
{
int a;
}
struct outer
{
char a;
struct inner b;
}
Как вычисляется заполнение между элементом outer.a
и элементом outer.b
?
Как вычисляется заполнение конца структуры outer
, когда тип данных члена inner.a
изменяется с int
на short
или double
?
Каковы последствия вычисления этих дополнений в 32-битной архитектуре по сравнению с 64-битной?