>>701
どこにも、MOEMOE::hogeにMOEMOE::hoge0のポインタが保持されてる事実を裏付ける記述が無いが
まぁ保持されているという前提で考えようか

1. func_hoge内で宣言されているhogeがHOGEのポインタを保持するための変数であり
   途中の処理でhogeにhoge0[i]のアドレスが取得されているから、return hogeでhoge0[i]のアドレスが返される
   配列のような動作は構造体にはない

2. moemoeのメンバであるhogeに保持されているアドレスが示すところのHOGE構造体変数のheightメンバに100を代入する
   最初に指摘したように、提示されたコード内にはなんら裏付ける記述がないのでhoge0のheightに代入するかは不明


あと蛇足だが、最後のreturn 0はreturn NULLにしといた方が無難