構造体の継承に関する質問です。
構造体Parentとそれを継承したChildについて、
C++の場合は
struct Child: public Parent
{
  int child_data;
};

という感じで書くわけですが、これをCの方法で

typedef struct _Child
{
  struct Parent parent;
  int child_data;
}Child;

と書いたとき、両者のメモリフィールドは同じになるのでしょうか。
gccで両フィールドをsizeofではかったところ同じでしたが、
必ず同じだという保証はありますか?