Освободить память, выделенную под матрицу - 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);

Объяснение кода листинга программы

В данном коде происходит освобождение памяти, выделенной под матрицу.

  1. for(i = 0; i < size; i++) — данная строка кода обозначает начало цикла. Цикл будет выполняться от 0 до size-1 (так как условие i < size).
  2. free(matrix[i]) — данная строка кода освобождает память, выделенную под matrix[i].
  3. free(matrix) — данная строка кода освобождает память, выделенную под matrix.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы