Ссылочный тип данных. Работа с адресами

Для работы с адресами в Paskal используется специальный тип Pointer, который называется указательным, а переменная данного типа – указателем. Указатель – переменная, код адреса какого-либо элемента памяти. Тип Pointer занимает 4 байта, состоит из 2х слов: адрес сегмента и смещения, записанные как сплошные 32 бита P:pointer; Однако для работы с адресами может использоваться другой адресный тип, называется ссылочным типом, основная деятельность которого связанна с организацией и работой как с динамической, так и со статическими структурами данных. Сами ссылочные переменные и указатели находится в статической памяти. При объявлении ссылочных переменных обычно строится ссылочный тип данных, но можно непосредственно в Var, хотя различные виды описаний могут привести к несовместимости типов по адресу.

Синтаксис описания переменой ссылочного типа:

Type

«имя типа»=^ «базовый тип»;

Var

1. «имя ссылочной переменной»: «имя типа»; или

2. «имя ссылочной переменной»: ^ «базовый тип»;

Пример описания:

Type

P_int=^integer;

P_Hoat=^real;

Var

Ptr0, ptr1:p_int;

Ptr:^integer;

Ptr_f:p_hoat;

P_ch:^char;

………

Ссылочные переменные Ptr0 и Ptr1 не будут совместимы с Ptr по адресу, не смотря на то что являются ссылками на один тип. В этом случае операция по пересылке адреса невозможна для не совместимых переменных. Представлены несовместимые по адресу переменные являются совместимые по ссылке. то по типу субъекта, на который ссылаются (смотри раз именование).

Лекция №8

Ссылочный и указательный типы данных. Основные операции с ссылочными переменными. Работа с адресами. Примеры.


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



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