構造体メンバの配置順序

そして次に、全てのオブジェクト構造体が最初にstruct RBasic型のメンバbasicを持っていることに注目してほしい。この結果として、 VALUEがどの構造体へのポインタだろうとstruct RBasic*にキャストすればbasicメンバの内容にアクセスできる

http://i.loveruby.net/ja/rhg/book/object.html

メンバの配置順序は保証されるんだっけ??

と、まあ、ここまでは建前です。数ある処理系の中には、独自拡張(というより非標準仕様)によって、境界調整に応じて、メンバを適切に入れ替えることで、構造体のサイズの縮小を図るものがあります。

http://japan.renesas.com/fmwk.jsp?cnt=/tool_faq_2001050999.jsp&fp=/support/faqs/faq_results/Q105701-Q105800&site=

Rubyが動く(とされている)処理系では保証されるということか・・