Ссылочный тип данных

В Паскале есть возможность создания динамических переменных с помощью переменных ссылочного типа.

Описание ссылочного типа:

 
 


Значением типа указатель является адрес переменной базового типа. Тип указатель занимает 4 байта (сегмент и смещение).

Пример 1. Описание переменных ссылочных типов.

Type t_ptr_real=^real;

t_vect=array[1..100] of char;

Var p1, p2:t_ptr_real; {указатель на вещественное число}

p_vect:^t_vect; {указатель на символьный массив}

Описанные переменные-указатели являются статическими, каждая из них занимает 4 байта. При описании переменные не инициализируются, поэтому их значения считаются неопределенными.

В ТР предопределен ссылочный тип pointer - нетипизованный указатель. Его значением является адрес ячейки памяти.

Начиная с версии ТР7, в ТР реализован тип Pchar = ^Char.

Инициализация переменной ссылочного типа может быть выполнена с помощью оператора присваивания или с помощью подпрограмм выделения памяти.

Ссылочные типы совместимы по присваиванию, если их базовые типы тождественны или один из них является нетипизованным указателем. Существует предопределенная константа nil: pointer (пустой указатель). После присваивания р:=nil указатель p не ссылается ни на какую область памяти. Если переменная р1 уже инициализирована и р1¹ nil, то после присваивания р2:=р1 обе переменные ссылаются на одну и ту же область памяти.

Тип Pchar, кроме того, совместим по присваиванию с символьным массивом и строковым типом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: