因此,我使用以下函数为双指针创建并分配了内存:
void mallocDoubleArr(double ***arr, int size)
{
printf("Here: %d", size);
int i, j;
*arr = malloc(size * sizeof(double*));
for(i = 0; i < size; i++)
{
(*arr)[i]= malloc(size*sizeof(double));
for (j = 0; j < size; j++)
{
(*arr)[i][j] = 0;
}
}
}
我使用以下方法调用了该函数:
double **G; //Create double pointer to hold 2d matrix
mallocDoubleArr(&G, numNodes);
现在我的问题是我将如何编写一个函数来释放内存?
我试过这样的事情:
void freeDoubleArr(double ***arr, int size)
{
int i, j;
for (i = 0; i < size; i++)
for (j = 0; j < size; j++)
free((arr)[i]);
free(arr);
}