Holy cow, I wrote a book!
In words, integral types and pointers up to eight bytes in size
are stored at their natural alignment.
Larger types are stored at eight-byte alignment.
In other words (saying it a third time),
let T be an integral or pointer type.
If sizeof(T) ≤ 8,
then T is aligned at a
If sizeof(T) ≥ 8,
then T is aligned at an