in program, use 2d-matrice each cell represents structure composed of 2 doubles. @ end of program, deallocate memory used matrice. wrote double loop "for" that:
if (i != null) {     (i = 0; < nb_prev; i++)     {         (j = 0; j < nb_samples; j++)         {             free(&(i[i][j]));         }         free(&(i[i]));     } }    but obtain heap error after second loop inside seconde "for". maybe have done mistake. me please ?
updated comments:
the memory allocated follows:
power_time **i;  = (power_vtime)malloc(sizeof(power_time*)*nb_prev);  if (i == null) exit(0);  (i = 0; < nb_prev; i++) {      i[i] = (power_time*)malloc(sizeof(power_versus_time)*nb_samples);      if (i_arriv[i] == null) exit(0);  }      
since i 2d matrix of structs (and not pointers structs), there shouldn't inner loop.
you need free(i) @ end.
basically, how deallocate memory should mirror image of how you've allocated it. have single malloc() followed 1d loop of malloc()s. mirror image 1d loop of free() followed single free() @ end.
Comments
Post a Comment