Освободить память, выделенную под матрицу - C (СИ)
Формулировка задачи:
Вот выделена память под массив двумерный:
Как её освободить. Так:
или также надо в цикле совобождать как и при выделении?
int **matrix;
int size = 100;
matrix = (int **)malloc(size * sizeof(int *));
for(i = 0; i < size; i++)
matrix[i] = (int *)malloc(size * sizeof(int));free(matrix)
Решение задачи: «Освободить память, выделенную под матрицу»
textual
Листинг программы
for(i = 0; i < size; i++) free(matrix[i]); free(matrix);
Объяснение кода листинга программы
В данном коде происходит освобождение памяти, выделенной под матрицу.
for(i = 0; i < size; i++)— данная строка кода обозначает начало цикла. Цикл будет выполняться от 0 до size-1 (так как условиеi < size).free(matrix[i])— данная строка кода освобождает память, выделенную подmatrix[i].free(matrix)— данная строка кода освобождает память, выделенную подmatrix.