如何释放这个n*n矩阵?

   int(*matrix)[n] = malloc(n*sizeof(*matrix));

我试过这个:
   for(i=0 ; i<n ; i++)
       free(matrix[i]);

在第一次迭代结束后,看看调试值,似乎所有的内存都被释放了,实际上在第二次迭代(i=1)中,调试给了我一个错误,我认为这看起来像是丢失了指向列表头的指针,所以我试图从n-1迭代到0,但它发生了同样的情况。。。

最佳答案

您要呼叫malloc一次,因此必须呼叫free一次:
free(matrix);

关于c - C:动态2Dmatrix释放,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24931401/

10-11 22:05
查看更多