C:动态2Dmatrix释放

时间:2014-07-24 10:36:16

标签: c memory dynamic matrix free

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

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

我试过这个:

   for(i=0 ; i<n ; i++) 
       free(matrix[i]);

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

1 个答案:

答案 0 :(得分:1)

您呼叫malloc一次,因此您必须拨打free一次:

free(matrix);