http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter6.html
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. The sizeof operator returns
the proper value. Finally, an aside on program format: when a function returns a complicated
type like a structure pointer, as in struct key *binsearch(char *word, struct key *tab, int n) the function name can be hard to see, and to find with a text editor.