必ずしも c, i, d, e が隙間無く配置されるとは限らない。
アライメント ってやつだ。

sizeof(char)=1, sizeof(int)=4, sizeof(double)=8 として
4バイトアライメントがかかると
cxxxiiiiddddddddeeeeeeee (1文字が1バイト xはゴミ)
のようなことになる。