sizeof
с типом структуры работает как с любым другим типом: результатом оператора является размер типа в байтах. Размер типа структуры такой же, как размер объекта этого типа структуры.
Размер sizeof
объекта структуры может превышать размер различных элементов типов структуры из-за заполнения.
Может быть заполнение неопределенным числом байтов после каждого элемента структуры, и дополнение учитывается в размере типа структуры (или объекта типа структуры)
Чтобы напечатать размер структурного типа, используйте спецификатор преобразования z
в строке формата printf
:
printf("%zu\n", sizeof (struct my_structure_type));