TURBO PASCAL:Учебное пособие. Терёхин В.В. - 129 стр.

UptoLike

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

129
их адресу в памяти. Для хранения адреса динамической пе-
ременной используется ссылочный тип, а переменная ссы-
лочного типа называется указателем. Значением перемен-
ной типа «указатель» является либо nil, либо адрес динамиче-
ской переменной и занимает она двойное слово (сегмент, сме-
щение). Указатели бывают типизированные и нетипизирован-
ные. Для типизированного указателя описание ссылочного ти-
па имеет вид:
Type
<идентификатор-имя переменной>: ^ <имя базового типа>;
Например:
Type arr = array[1..100] of real;
par = ^arr;
pint = ^int;
Var a: par; {ауказатель на массив }
n: pint ; {n – указатель на целое }
b: array[1..5] of ^real; {массив указателей на
переменные вещественного типа}
Встроенный тип Pointer обозначает нетипизированный
указатель, т.е. указатель, который не указывает ни на какой оп-
ределённый тип.
Для порождения динамического объекта служат стан-
дартные процедуры New и GetMem.
procedure New( var P:<указатель>);
procedure GetMem(var P: Pointer; Size:Word);
Процедура New выделяет участок памяти, необхо-
димый для размещения всей переменной указанного типа, а в
процедуре GetMem указывается размер необходимого блока
памяти.
В программе доступ к динамическому объекту проис-
ходит через переменную-указатель, после которой ставится
символ ^.
Пример.
program р72 ;
их адресу в памяти. Для хранения адреса динамической пе-
ременной используется ссылочный тип, а переменная ссы-
лочного типа называется указателем. Значением перемен-
ной типа «указатель» является либо nil, либо адрес динамиче-
ской переменной и занимает она двойное слово (сегмент, сме-
щение). Указатели бывают типизированные и нетипизирован-
ные. Для типизированного указателя описание ссылочного ти-
па имеет вид:
Type
  <идентификатор-имя переменной>: ^ <имя базового типа>;

       Например:
Type arr = array[1..100] of real;
       par = ^arr;
       pint = ^int;
Var a: par; {а – указатель на массив }
       n: pint ; {n – указатель на целое }
       b: array[1..5] of ^real; {массив указателей на
                            переменные вещественного типа}
       Встроенный тип Pointer обозначает нетипизированный
указатель, т.е. указатель, который не указывает ни на какой оп-
ределённый тип.
       Для порождения динамического объекта служат стан-
дартные процедуры New и GetMem.
       procedure New( var P:<указатель>);
       procedure GetMem(var P: Pointer; Size:Word);
       Процедура New выделяет участок памяти, необхо-
димый для размещения всей переменной указанного типа, а в
процедуре GetMem указывается размер необходимого блока
памяти.
       В программе доступ к динамическому объекту проис-
ходит через переменную-указатель, после которой ставится
символ ^.
       Пример.
program р72 ;
                                                            129