ВУЗ:
Составители:
Рубрика:
236
begin
p:=nil;
pi:=nil;
pc:=nil;
end.
4) Значение указателя можно задавать процедурами New и Getmem.
Все вышерассмотренные примеры демонстрировали работу со
статически выделяемой памятью – если какая-то переменная объявляется
в программе, то память для ее размещения выделяется компилятором, и в
процессе работы программы месторасполажение переменной изменить
нельзя – оно статично.
Кроме такого – статического – способа выделения памяти, существует
и другой способ – динамический. При динамическом способе выделения
памяти в программе объявляют не сами переменные, а только указатели
на них, а память для размещения переменных выделяют при помощи
процедур New и Getmem.
Процедура New
procedure New(var P:Pointer) – создает новую динамическую
переменную и заносит в P адрес созданной переменной.
Процедура Dispose
procedure Dispose(var P:Pointer) – освобождает память, занимаемую
динамической переменной, на которую указывает P.
Пример 1:
var
pi: Integer; {указатель на динамически создаваемую переменную}
begin
New(pi); {создали динамическую переменную целого типа}
pi^:=100; {присвоили ей значение 100}
writeln(pi^); {вывели на экран ее значение =100}
Dispose(pi); {уничтожили созданную динамическую переменную}
end.
Пример 2:
Страницы
- « первая
- ‹ предыдущая
- …
- 234
- 235
- 236
- 237
- 238
- …
- следующая ›
- последняя »