Alignment of a given [[Type]] $T$ or instance of a type is a restriction on what memory address a given instance of $T$ is allowed to occupy. Alignment is almost always a *power of two*. Alignment can be messed up as in languages like C/C++ - [[Padding]] will be introduced to always ensure alignment. ```cpp struct A { char a; // 1 byte // 3 bytes of padding that are basically unused int b; // 4 bytes }; ```