бесплатный 2D массива в C
Я решал несколько простых упражнений с указателями, когда наткнулся на следующий пример:
void deallocate2D(int** array, int nrows) {
/* deallocate each row */
int i;
for(i = 0; i < nrows; i++) {
free(array[i]);
}
/* deallocate array of pointers */
free(array);
}
Массив определяется в main как int * * array1;
Является ли это правильным способом освобождения памяти двумерного массива или вместо этого в функцию следует передать массив int***? Есть ли способ проверить, что память была успешно освобождена?