Data alignment
means putting the data at a memory offset equal to some multiple of
the word size, which increases the system's performance due to the way
the CPU handles memory.
In long words, the instruction can be fetched/written one machine word at a time. This machine word
differs depends on h/w. In a typical 32-bit machines, in one memory attempt, 4 bytes can be either read
or written. Thus for the efficient access of memory, our compilers does padding by barring the unused
memory.