Pascal指针的动态变量

1.定义指针类型
    在Turbo Pascal中,指针变量中存放的某个存储单元的地址,即指针变量指向某个存储单元。一个指针变量仅能指向某一种类型的存储单元,这种数据类型是在指针类型的定义中确定的,称为指针类型的基类型。指针类型定义如下:
      类型名=^基类型名;
      例如:
        type q=^integer;
      var a,b,c:q;
      说明q是一指向整型存储单元的指针类型,其中”^”为指针符。a,b,c均定义为指针变量,分别可以指向一个整型存储单元。   
      上例也可定义为:
        var a,b,c:^integer;
    指针也可以指向有结构的存储单元。
      例如:type person=record
       name:string[10];
       sex:(male,female);
       age:20..70
      end;
         var pt:^person;
      pt为指向记录类型person的指针变量。

2.动态变量  
    应用一个指针指向的动态存储单元即动态变量的形式如下:  
      指针变量名^
      例如:p^、q^、r^
  指针变量p和它所指向的动态变量^p之间有如下关系:P->P’
    以下语句把整数5存放到p所指向的动态变量p^ 中去: p^:=5;
    以下语句把p所指向的p^中的值赋给整型变量i: i:=p^;
    如果指针变量p并未指向任何存储单元,则可用下列赋值语句:p:=nil;
    其中nil是Pascal的保留字,表示“空”,相当于C里面的null