This is due to alignment.
It is possible that 64-bit integers on your platform should be 64 bit compatible.
So, in the mixed structure, you have 3 32-bit integer, after them another 32-bit addition must be inserted in order to correctly combine the 64-bit integer.
The size difference should disappear if you insert even the amount of 32-bit field in front of your 64-bit field.
Fionn source share