次の状況では、次のような整数変数へのポインターを含む構造体があります。
struct Structure[] = {
{ &Var[0], &Var[1] },
{ &Var[2], &Var[3] }
};
問題はVar
、この構造体が初めて埋められたときに初期化されていないことです。(: のようにNULL
) (最初のパスで) その直後に、変数Var
が初期化され、それに応じて参照が更新されます。
これが誤動作する理由はわかりませんが、あなたの専門知識をお願いします. このような配列に無効なメモリ (配列添字付き) への参照を入れることは合法ですか? それとも、この状況に対して別の種類のアプローチが必要ですか?
最初の初期化が終わるまで、これらの変数の内容にはアクセスしません。
どうもありがとうございました。
編集: 将来の読者のために:Var
はグローバル ポインター変数であり、最初は NULL に初期化されます。初期化では、 を使用して配列に変換しnew
ます。