ВУЗ:
Составители:
Рубрика:
6
При этом говорят, что pa указывает на a. Указатель может также хранить специ-
альное  значение,  задаваемое  предопределенной  константой  nil.  Это «нулевое 
значение» для указателей, означающее, что указатель никуда не указывает. Будем 
называть такой указатель нулевым и изображать его следующим образом: 
pa
Типизированные  указатели  разных  типов  несовместимы  по  присваиванию. 
Однако типизированный и бестиповой указатель совместимы по присваиванию в 
обе стороны. Указатели одного типа, а также типизированный и бестиповой ука-
затель можно сравнивать на равенство и неравенство. Далее приводятся примеры 
допустимых действий с указателями: 
var a: integer; 
    r: real; 
    pa,pa1: ^integer; 
    p,p1: pointer; 
    pr: ^real; 
begin 
  pa:=@a; 
  p:=@a; 
  pa:=p; 
  p:=pa; 
  p:=nil; 
  pa:=nil; 
  if
 pa=pa1 then ; 
  if pa<>p then ; 
  ... 
Следующие  действия,  наоборот,  являются  недопустимыми  и  вызовут  ошибку 
компиляции, поскольку выполняются над указателями, имеющими различный ба-
зовый тип: 
  pr:=pa;        // ошибка: несовместимые типы 
  if pr=pa then; // ошибка: несовместимые типы 
Следует  помнить,  что  в  языке Pascal принята  именная  эквивалентность  типов. 
Поэтому в следующем примере переменные pb и pb1 считаются принадлежащи-
ми к разным типам: 
var pb: ^integer; 
    pb1: ^integer; 
begin 
  pb:=pb1;          // ошибка компиляции! 
  if pb<>pb1 then ; // ошибка компиляции! 
  ... 
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 2
 - 3
 - 4
 - 5
 - 6
 - …
 - следующая ›
 - последняя »
 
