我必须创建一个函数 void destroy(int *** matrix);用于重新分配矩阵 而且我不知道如何在不知道其大小的情况下对其进行分配
我想要一些想法或代码示例。
答案 0 :(得分:2)
您必须有一个约定,仅需要释放前哨值(例如NULL
)之前的指针。
void destroy (int ***matrix) {
if (matrix == NULL) return;
for (int i = 0; matrix[i]; ++i) {
for (int j = 0; matrix[i][j]; ++j) {
free(matrix[i][j]);
}
free(matrix[i]);
}
free(matrix);
}