1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
1

Нужно ли при удалении динамического массива присваивать NULL?

19.01.2014, 15:57. Показов 2099. Ответов 3
Метки нет (Все метки)

Вот создал я динамический массив N на M:
C++
1
2
3
4
int **mas;
    mas=new int*[n];
    for(i=0;i<n;i++)
        mas[i]=new int[m];
А вот его удаление:
C++
1
2
3
4
for(i=0;i<n;i++)
delete []mas[i];
delete []mas;
mas=NULL;
Вопрос: NULL присваивать обязательно? И что он вообще из себя представляется? Зачем его пишут?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.01.2014, 15:57
Ответы с готовыми решениями:

Ошибка при удалении динамического массива
Непонятная мне ошибка при удалении массива #include &lt;iostream&gt; #include &lt;conio.h&gt; using...

Ошибка при удалении динамического массива
Доброго времени суток! ПРоблема заключается в том, что при попытке очистить память из под...

Ошибка при удалении динамического массива
Добрый вечер! Ругается на HEAP CORRUPTION DETECTED в строке с delete vertex; В чём может быть...

Ошибка SIGTRAP при удалении динамического 2D массива
Нужно было создать двухмерный динамический массив в форме &quot;пирамиды&quot;, скажем так, заполнить его...

3
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
19.01.2014, 16:02 2
Vegas_I, Для удаления массива нужно просто вызывать delete
1
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
19.01.2014, 16:10 3
Цитата Сообщение от Vegas_I Посмотреть сообщение
Зачем его пишут?
для удобства с точки зрения проверки существует ли массив или нет, т.е объявляем указатель и зануляем, потом создаем массив и этому указателю присваиваем значение в памяти на массив, затем массив удаляем и зануляем указатель, т.е можно проверить существует ли массив в данный момент времени
0
Каратель
Эксперт С++
6606 / 4025 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
19.01.2014, 16:13 4
Цитата Сообщение от Vegas_I Посмотреть сообщение
NULL присваивать обязательно?
не обязательно, но это как правило хорошего тона

Добавлено через 44 секунды
Цитата Сообщение от Vegas_I Посмотреть сообщение
И что он вообще из себя представляется?
в С++ NULL это 0
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2014, 16:13
Помогаю со студенческими работами здесь

Вылет программы при удалении динамического массива
Писал программу с использованием динамического массива, все компилилось нормально, но в какой-то...

Heap corruption detected при удалении динамического массива
mystring.cpp - здесь происходит ошибка в функции MyString::operator на строке delete s. В чем тут...

Возникает ошибка при удалении динамического массива символов в деструкторе класса
Всем привет. Есть приватная переменная, указатель на строку wchar_t *pUAgent; В конструкторе...

Можно ли переменной или элементу массива присваивать NULL
Написал программу для двумерного массива целых чисел размера m*n , которая находит z = min + max,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru