Распределение памяти

Слайд 2

a^=b^ a b 4. Копирование информации a^:= b^; 3. Занесение информации



a^=b^
a<>b

4. Копирование информации
a^:= b^;

3. Занесение информации
a^:=1;
b^:=2;

2. Выделение памяти
New(a);
New(b);

Объявление

type Pint =^ integer;
var a, b: Pint;

Результат

Действие

Слайд 3

b b^ 6. Присваивание пустого указателя b:= nil; 5. b) После



b

b^

6. Присваивание пустого указателя
b:= nil;

5. b) После освобождения памяти a:=b;
Dispose

(a);

5.a) Копирование адреса
a:=b

Результат

Действие

Процедура New(A) выделяет память для указателя А

Процедурой Dispose(A) освобождается область памяти

Слайд 4

Сравнение статических и НЕСВЯЗНЫХ ДИНАМИЧЕСКИХ ДАННЫХ var указатель New Dispose type

Сравнение статических и НЕСВЯЗНЫХ ДИНАМИЧЕСКИХ ДАННЫХ

var

указатель

New Dispose

type Tint =1..100;
var

PX: ^Char;
PY: ^Tint;
begin
New(PX);
New(PY);
PX^:=`*`;
PY^:=3;

Dispose (PX);
Dispose (PY);
end.

type Tint =1..100;
var X: Char;
Y: Tint;
begin
X:=`*`;
Y:=3;

end.

1. Простая переменная

ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ

ОБЫЧНЫЕ ПЕРЕМЕННЫЕ

СТРУКТУРА ДАННЫХ