On what exactly does the size of a primitive data type like int depend on?
int
A struct can also be POD, in which case you can explicity control potential padding between members with #pragma pack on some compilers.
struct
#pragma pack