http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter6.html
Because of alignment requirements for different objects,
there may be unnamed ``holes'' in a structure. Thus, for instance, if a char is one byte and an int four bytes, the structure struct {
char c;
int i;
}; might well require eight bytes, not five.