Освобождение памяти

<освобождение памяти>≡delete <выр.>.

Процедура освобождает область памяти на которую указывает ссылочная переменная, после чего эта область становится доступной для распределения под другие динамические переменные.

Способ работы с динамическими переменными.

Резервирование памяти под дин. переменные производится с помощью операции

<идентификатор>=new <тип>

где <тип>, - тип динам. переменной; new, - знак операции. Результат операции – адрес области памяти (указатель); операнд – любой тип в TC.

Пример:

float *p; //в обл.памяти выделяется место, но само значение р

не определяется//

p=new float; //значение р определяется, значение динамической переменной не

определено, но память под нее выделена//

*p, - динамическая переменная.

Динамические массивы.

Динамические массивы – массивы, под которые выделяется область памяти “куча”. Работать с такими массивами так же, как и с динамическими переменными.

Резервирование памяти производится с помощью операции new <тип> []. Результат операции – адрес области памяти (указатель); операнд – любой тип в TC.

Пример:

a=new float [10], - захват памяти под 10 элементов действительного типа; значение a – указатель; работа с такими массивами так же, как и со статичными.

<освобождение памяти>≡delete [] <выражение>; при этом выражение должно иметь значение указателя на динамический массив.

NULL, - отсутствие ссылки; принадлежит любому значению типа указатель.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: