Thats not correct, most of C compilers have alignment requirement to every structure as largest member of the structure if it is more then int. i.e. if structure has members as char, int then alignment is 32 bits and if structure has members as char, int, double then alignment is 64bits on 64bit machine (32 on 32 bit machine).
For example try the following structure on 64bit machine
Struct_t
{
char a,
double b,
int c
};
struct_t needs sizeof(char) + 7 byte padding + sizeof(double) + sizeof(int) = 1 + 7 + 8 + 4 = 20 bytes. However, the sizeof(struct_t) will be 24 bytes.