I need to clear memory of 5D object, so first I need to define it with memory allocation. My previous object definition was:
double I_object[N_GROUPS][NN][NN][NN][NN]={0};
I replaced it by code below and c file compiles but c program crashes :(
I_object=(double *****) malloc(sizeof(double *****)*N_GROUPS);
for(i = 0; i < N_GROUPS; i++){
I_object[i]=(double ****) malloc(sizeof(double****)*NN);
for(j = 0; j < NN; j++){
I_object[i][j]=(double ***) malloc(sizeof(double***)*NN);
for(k = 0; k < NN; k++){
I_object[i][j][k]=(double **) malloc(sizeof(double**)*NN);
for(l = 0; l < NN; l++){
I_object[i][j][k][l]=(double *) malloc(sizeof(double*)*NN);
}
}
}
}
Please let me know if this 5D object definition is wrong or where I can find how to define 5D object using malloc.