Consider the struct UserInfo, which is used in a performance critical sub-system.
Currently, on a system:
- A long long takes 8 bytes
- A pointer, a float, and an int take 4 bytes each
- A short takes 2 bytes
- A char takes 1 byte
The struct takes 48 bytes of space. Rearrange the struct, without removing, renaming, or changing the type of the members, so that it uses less memory. The code uses pointers to struct members, so struct should be properly aligned.
- The UserInfo struct takes less than 48 bytes of memory: Wrong answer
- The UserInfo struct takes less than 33 bytes of memory: Wrong answer
- The UserInfo struct is properly aligned: Wrong answer