私structのプログラムでは、次のように定義されています。
struct memregion {
void * from;
void * to;
intモード;
}
私は自分のプログラムで、この構造体の配列をとして宣言しstruct memregion regions[10]ます。次に、それを関数に渡しますget_mem_layout(regions, 10)。その宣言は次のとおりです。
void get_mem_layout(struct memregion * region、int size)
ただし、構造体の任意のメンバー変数にデータを書き込もうとすると、
region [j] .mode = 1;
また
void * addr;
addr =(void *)0;
リージョン[j].from= addr;
セグメンテーション違反が発生しました。なぜこれが起こっているのか判断できません。助けてください。
更新:割り当ての一部であったため、完全なコードが削除されました。@paddyの回答で問題は解決しました。