各位,pascal中能不能读出指针中的地址值呢?

P: Pointer;
p^是指针的内容
那指针现在指向的地址怎么取得。

解决方案 »

  1.   

    P: Pointer;
    p^是指针的内容这个不能,Pointer要用^,必须强制转化为具体的类型才可用
    var p:Pointer;
        x:integer;
    begin
      X:=90;
      P:=@X;
      Edit1.Text:=InttoStr(pInteger(P)^);
    end;要读出指针的地址,强制转化为相应的类型即可
    var p:Pointer;
        x:integer;
    begin
      X:=90;
      P:=@X;
      Edit1.Text:=InttoStr(Integer(P));
    end;
      

  2.   

    符号 ^ 有两种用途,当它出现在类型标识符之前,如
    ^typeName
    表示一个类型,该类型表示指向typeName类型变量的指针。当它出现在指针变量之后,如
    pointer^该符号对指针解除参照,也就是说,返回存储在内存地址(该地址保存在指针中)的值