Word Boundaries and Slack Byte
Computer stores structures using the concept of "word boundaries". The size of a word boundary is machine dependent. In a computer with two bytes word boundary, the members of a structure are stored left_aligned on the word boundary, as shown below. A character data takes one byte and an integer takes two bytes. One byte between them is left unoccupied. This unoccupied byte is know as the slack byte.
When we declare structure variables, each one of them may contain slack bytes and the values stored in such slack bytes are undefined. Due to this, even if the members of two variable are equal, their structures
do not necessarily compare equal. C, Therefore, does not permit comparition of structures. However, we can design our own function that could compare individual members to decide whether the structure are equal or not.