Usage of #pragma pack
Specifies packing alignment for structure, union, and class members.
Displays the current byte value for packing alignment. The value is displayed by a warning message.
#pragma pack(show)
#pragma pack(push, n)
Pushes the current packing alignment value on the internal compiler stack,
and sets the current packing alignment value to n.
If n is not specified, the current packing alignment value is pushed.
#pragma pack(pop)
Removes the record from the top of the internal compiler stack.
If n is not specified with pop, then the packing value associated with the resulting record on the top of the stack is the new packing alignment value.
If n is specified, for example, #pragma pack(pop, 16),
n becomes the new packing alignment value.