struct hoge {
 int type
 union {
  ...
 } u;
};
こんな感じのコードを昔はよく書いたな。