In this specific case, it's probably not a big deal. I'm betting the OP is on an x86 architecture, which supports misaligned reads/writes from memory. Other (typically RISC) architectures, like ARM, are not so friendly to misaligned reads, and the resulting code may be several times slower for accessing misaligned data that results from packing structures (unless you're lucky enough to be able to organize your struct members to be naturally aligned when packed).