Основы программирования на языке Turbo Pascal. Беляева И.В. - 238 стр.

UptoLike

Составители: 

238
Чем очень сильно затруднит поиск ошибки}
pi:=@i;
pi^:=200; {А вот так можно. В этом случае число 200 будет занесено
в переменную i}
New(pi);
pi^:=300; {И так можно. В этом случае число 300 будет занесено в
динамически созданную переменную целого типа, адрес которой
хранится в pi}
Dispose(pi); {Нельзя забывать уничтожать динамически создаваемые
переменные после окончания их использования.
При создании динамической переменной под ее размещение
выделяется некоторый объем памяти компьютера. Поскольку
общий объем памяти не
бесконечен, то становится
понятным,что если насоздавать много динамических
переменных, то память рано или поздно кончится.
Чтобы этого не случилось, память расходуют экономно,
уничтожая все динамические переменные сразу после того, как
они стали ненужными. При уничтожении динамически
созданной переменной, память, выделенная под ее размещение,
освобождается, и может быть использована для
размещения
других динамических переменных}
end.
Замечание 4:
Ни в коем случае нельзя обращаться к уничтоженной динамической
переменной.
Пример:
var
pi:PInteger;
begin
New(pi); {создали динамическую переменную}
pi^:=10; {присвоили ей значение 10}
writeln('pi^=', pi^ ); {вывели на экран 10}
Dispose(pi); {уничтожили динамическую переменную}
pi^:=20; {ОШИБКА!!! Динамической переменной уже не
существует, а мы записываем в нее 20}
end.