Speicheralignment
Speicheralignment refers to the arrangement of data in memory so that each object begins at an address that satisfies specified alignment requirements. Alignment is typically a power-of-two boundary and is often tied to the size of the type or to the constraints of the hardware and application binary interface (ABI). Proper alignment enables efficient memory access and can prevent faults on architectures that require aligned accesses. In practice, a 1-byte type may have 1-byte alignment, a 4-byte type commonly uses 4-byte alignment, and an 8-byte type uses 8-byte alignment; larger composite types may have an alignment equal to the maximum alignment of any member.
For composite types, the compiler may insert padding between members to keep each member correctly aligned,
Performance and portability considerations: aligned memory accesses are generally faster, especially when using cache lines and