Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi / песни о паскале.pdf
Скачиваний:
63
Добавлен:
26.03.2016
Размер:
5.16 Mб
Скачать

Глава 51

Указатели в море памяти

Итоги

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

Объекты программы – переменные, процедуры и функции – занимают ячейки памяти, адреса которых можно определить операцией взятия адреса @ или функцией Addr.

Для хранения адресов применяют переменные особого типа – указатели. Каждому типу переменных соответствует свой тип указателя.

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

С указателями допустимы лишь три операции: копирование, сравнение и

разыменование.

Разыменованный указатель – это переменная, на которую он ссылается в данный момент; с ним можно поступать как с этой переменной.

Указатели всех типов имеют одинаковый размер, который для 32-разрядных операционных систем составляет 4 байта.

Аслабо?

А) Какие ошибки найдет компилятор в следующей программе? Объясните их.

var P1 : ^Integer;

P2 : ^String;

N : Integer;

S : String;

begin

 

 

P1

:= @S;

 

P2

:= @N;

 

end.

 

 

 

 

 

Б) Будет ли работать следующая программа? В чём ошибки?

var P1 : ^Integer; begin

P1 := 0;

P1^ := 30;

P1 := nil; Writeln(P1^);

end.

В) Откройте программу P_51_1 и введите в окно обзора переменные P1 и P1^ (комбинацией Ctrl+F7). Выполняя программу по шагам, наблюдайте за переменными. Сделайте то же с программой P_51_2.

406

Соседние файлы в папке delphi