Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Освобождение памяти для ук. на двумерный массив.


Автор: goodwen053 28.4.2011, 17:31
Я объявляю указатель на двумерный массив и заполняю его:
Код

int number=0;//переменная для задания размера массива
int **matrix;//объявление указателя

printf("enter the number of elements of the matrix:");
scanf("%i", & number);

matrix = new int*[number];

for(int i=0;i<number;i++){

         matrix[i]=new int[number];
}
//тут закончил объявление указателя на двумерный массив, далее его заполняю

for(int i=0;i<number;i++){

          for(int j=0;j<number;j++){

                   printf("enter element %i/%i: ",i,j);
                   scanf("%i", & matrix[j][i]);
          }
}

А как правильно освобождать память после того, как мне этот указатель не нужен? Верно ли я делаю так, как представлено ниже в коде:
Код

for(int i=0;i<number;i++){

          delete matrix[i];
}

delete matrix;

Если нет, то подскажите, как правильнее его делать?

Автор: bsa 28.4.2011, 17:49
Цитата(goodwen053 @  28.4.2011,  17:31 Найти цитируемый пост)
А как правильно освобождать память после того, как мне этот указатель не нужен? Верно ли я делаю так, как представлено ниже в коде:
неверно

Цитата(goodwen053 @  28.4.2011,  17:31 Найти цитируемый пост)
Если нет, то подскажите, как правильнее его делать?

Код
for(int i=0;i<number;i++)
   delete[] matrix[i];
detele[] matrix;

Цитата(goodwen053 @  28.4.2011,  17:31 Найти цитируемый пост)
Я объявляю указатель на двумерный массив
Нет. Ты создаешь указатель на указатель на int.

Добавлено через 1 минуту и 43 секунды
Почитай про http://forum.vingrad.ru/forum/forum/topic-272671.html и http://forum.vingrad.ru/forum/topic-189118.html. Да и вообще, ознакомься со всеми http://forum.vingrad.ru/forum/index.php?show_type=forum&showtopic=269794&kw=faq-c++.

Автор: goodwen053 28.4.2011, 18:37
bsa, спасибо за помощь и ссылки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)