char, signed char, and unsigned char are distinct types
C++ type size assertions
Bad vs Good alignment demo