^到底在什么情况下使用呢

解决方案 »

  1.   

    var
      PA: ^Integer;
      A: Integer;
    begin
      PA^ := 2;  PA := @A;  A := PA^
    end;
      

  2.   

    指针:概述
     首先看下面的范例中指针是如何工作的:1    var2      X, Y: Integer;   // X和Y是整数类型的变量3      P: ^Integer;     // P是指向一个整数的指针4    begin5      X := 17;         // 向X赋值6      P := @X;         // 把X的地址赋给P7      Y := P^;         // 对指针P解除参照,将结果赋给Y8    end;第2行声明了Integer类型的变量X和Y。第3行声明了指向Integer值的指针P,意味着指针P可以指向变量X或Y的位置。第5行向X赋值,第6行把X的地址(表示为@X)赋给指针P。最后,第7行重新找回指针P所指的位置的值(表示为P^,原文显然有误:^P)并赋给Y。这些代码执行后,X和Y具有相同的值,即17。在这里用于获得变量地址的地址运算符(@),也可以作用于函数和过程。更多信息见地址(@)运算符和语句和表达式中的程序型类型。符号 ^ 有两种用途,在本例中都说明了。当它出现在类型标识符之前,如^typeName表示一个类型,该类型表示指向typeName类型变量的指针。当它出现在指针变量之后,如pointer^该符号对指针解除参照,也就是说,返回存储在内存地址(该地址保存在指针中)的值