Can anyone please explain me this?
Apparently there is a space containing two bytes that is beeing unused after field a. Can someone tell my why is this happening and is there a way to "turn off" such behavior? I really need it to work normally.
Can anyone please explain me this?
Apparently there is a space containing two bytes that is beeing unused after field a. Can someone tell my why is this happening and is there a way to "turn off" such behavior? I really need it to work normally.
This IS "working normally". Your compiler aligns the second member b
to optimize for speed. The default alignment for an unsigned int
on your platform is 4 bytes, so padding bytes are added after a
.
To turn this off, you can use pragma
s depending on your compiler, but don't call this "abnormal behavior".