intermediate · layout
Why Field Order Changes Struct Size
Reordering the fields of a struct changes its size without removing any field. Why?
Practical scenario
A struct with a bool, a pointer, an int and another bool is 32 bytes. Reordering the fields makes it 24. A reviewer asks why the compiler did not do that automatically.
What it tests
- • Knowledge of alignment requirements and padding
- • Whether the candidate can predict layout rather than only observe it
- • Awareness that exact layout is ABI-specific