1.6Kпросмотров
70.2%от подписчиков
9 февраля 2026 г.
statsScore: 1.8K
Почему size = 10, а stride = 16 size — это сколько байт занимают данные структуры. • Int → 8 байт • Bool → 1 байт • Bool → 1 байт stride — это минимальный безопасный размер значения этого типа в памяти с учётом выравнивания. Int требует выравнивание на 8 байт. Значит: • значение типа Diff должно начинаться с адреса, кратного 8 • размер 10 этому требованию не соответствует
Итог • size — сколько байт занимают данные • stride — минимальный размер значения с учётом alignment • из-за требований выравнивания stride может быть больше size