私のプログラムでは、各セルが2つのdoubleで構成される構造を表す2D行列を使用します。プログラムの最後に、このマトリックスで使用されているすべてのメモリの割り当てを解除したいと思います。だから私はそのような「for」の二重ループを書いた:
if (I != NULL)
{
for (i = 0; i < nb_prev; i++)
{
for (j = 0; j < nb_samples; j++)
{
free(&(I[i][j]));
}
free(&(I[i]));
}
}
しかし、seconde「for」内の2番目のループの後にヒープエラーが発生します。多分私は間違いをしました。誰か助けてくれませんか?
コメントから更新:
メモリは次のように割り当てられます。
Power_time **I;
I = (Power_vtime)malloc(sizeof(Power_time*)*nb_prev);
if (I == NULL) exit(0);
for (i = 0; i < nb_prev; i++) {
I[i] = (Power_time*)malloc(sizeof(Power_versus_time)*nb_samples);
if (I_arriv[i] == NULL) exit(0);
}