Освобождение памяти после "указателя на указатель" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как корректно освободить память после вот такого выделения.
int i = 0, n =0;
const int size = 10;
int**mass = (int**)calloc(size, sizeof(int));
for (i=0; i<size; i++)
    for (n=0; n<size; n++)
        mass[i]=(int*)calloc (size, sizeof(int));
Упс, там лишний цикл for, случайно туда попал. Извиняюсь.

Решение задачи: «Освобождение памяти после "указателя на указатель"»

textual
Листинг программы
for (i=0; i<size; i++)
    free(mass[i]);
free(mass);

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

  1. Объявлен цикл for для перебора элементов массива mass от 0 до size
  2. Внутри цикла используется функция free для освобождения памяти, выделенной под каждый элемент массива mass
  3. После завершения цикла, освобождается память под сам массив mass

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


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

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

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