間違い。

struct hoehoe {
struct hoehoe *mode1;
struct hoehoe *mode2;
} STRUCT_HOEHOE;

typedef struct hoge {
STRUCT_HOEHOE hoe;
long flg;
intfrag;
} STRUCT_HOGE;

と宣言して、

STRUCT_HOGE ahya;

というグローバル変数を確保して、


((STRUCT_HOEHOE *)(ahya.flg))->mode1 とか
((STRUCT_HOEHOE *)(ahya.flg))->mode2 という記述をした場合、何を参照していることになるの?

先輩のソースなんだけど何やってんのかさっぱりわからない
コンパイル通るしワーニング出てないので正しいんだろうけどわからない