Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

16. Указатели

Предыдущий раздел:

Следующий раздел:

16.2. Нетипизированные указатели

Хотя значениями ссылочных типов, образованных от любого базового типа, являются адреса в памяти прямое присваивание значений разнотипных указателей запрещено. Пусть, например, имеется описание:

  var
    x, y: ^integer;
    z: ^real;

Допустимы присваивания однотипных указателей:

  x:=y;

И не допустимы присваивания:

  x:=z;
  z:=y;

Чтобы обойти это ограничение можно описать указатель, не связанный с определенным типом данных. Для этого существует тип Pointer.

  var
    p: Pointer;

Нетипизированные указатели совместимы с любыми типизированными укзателями. Соответственно допустимо:

  p:=x;
  z:=p;

После таких присваиваний x и z содержат один и тот же адрес памяти. Однако содержимое этой памяти будет интерпретироваться по-разному: x^ — как целое, z^ — как вещественное число.

Следующий раздел:

Предыдущий раздел:

Добавить комментарий