Typically the compiler will strive to align on DWORD (4 bytes) boundaries or on boundaries that matches the biggest variable size (in this case, double) in the struct.
However, all padding is both compiler and platform dependant.
Not really, since the offsets are known at compile time, there's no runtime overhead for accessing each member, whether they're padded or not.Can I assume that it is faster by padding the bytes so it can think of the struct in a more "array" way, so knowing the address of the pointer of the struct, find more quickly the values of each member of the struct?