ВУЗ:
Составители:
Рубрика:
92
Формат:
type
<имя типа> = pointer;
<имя типа> = ^<идентификатор типа>;
Например:
type
T = pointer; {указатель не связан с определенным
типом данных}
T1 = ^integer; {указатель связан с данными целого типа}
var
{ переменные типа указатель}
ptr1: T;
ptr2: T1;
Для правильной работы с указателями очень важно четко разли-
чать
два понятия значение указателя и значение по указателю:
•
значение самого указателя – адрес динамической памяти.
В приведенном выше примере это значение переменных ptr1,
ptr2;
• значение по указателю – значение данных, адрес которых
является значением указателя на эти данные. В программе оно обо-
значается:
<имя переменной типа указатель>^
Для указателей ptr1, ptr2 значения по указателю будут обозна-
чаться так:
ptr1^, ptr2^ .
Чтобы "почувствовать разницу" между значением указателя и
значением данных, адресуемых этим указателем, рассмотрим сле-
дующую схему (рисунок 6.1).
На рисунке 6.1:
после выполнения операции ptrY:= ptrX изменяется значение
указателя
ptrY и доступ к данным по предыдущему значению этого
указателя потерян (данные превращаются в "мусор")!
Формат:
type
<имя типа> = pointer;
<имя типа> = ^<идентификатор типа>;
Например:
type
T = pointer; {указатель не связан с определенным
типом данных}
T1 = ^integer; {указатель связан с данными целого типа}
var
{ переменные типа указатель}
ptr1: T;
ptr2: T1;
Для правильной работы с указателями очень важно четко разли-
чать два понятия значение указателя и значение по указателю:
• значение самого указателя – адрес динамической памяти.
В приведенном выше примере это значение переменных ptr1,
ptr2;
• значение по указателю – значение данных, адрес которых
является значением указателя на эти данные. В программе оно обо-
значается: <имя переменной типа указатель>^
Для указателей ptr1, ptr2 значения по указателю будут обозна-
чаться так: ptr1^, ptr2^ .
Чтобы "почувствовать разницу" между значением указателя и
значением данных, адресуемых этим указателем, рассмотрим сле-
дующую схему (рисунок 6.1).
На рисунке 6.1:
после выполнения операции ptrY:= ptrX изменяется значение
указателя ptrY и доступ к данным по предыдущему значению этого
указателя потерян (данные превращаются в "мусор")!
92
Страницы
- « первая
- ‹ предыдущая
- …
- 91
- 92
- 93
- 94
- 95
- …
- следующая ›
- последняя »
