zen and art of reducing memory size of data structures, primarily in C and C++ code
Structure packing is a set of techniques used to reduce memory size of data structures, primarily in C and C++ code.
You need to know this technique if you intend to write code for memory-constrained embedded systems, or operating-system kernels. It is useful if you are working with application data sets so large that your programs routinely hit memory limits. It is good to know in any application where you really, really care about minimizing cache-line misses.