Object Pascal的^ 运算符与c的*相似

解决方案 »

  1.   

    delphi中的^等于C中的*, @等于c中的&
    如果要进行地址运算,可以写为:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      p1,p2:pointer;
      a:integer;
    begin
      p1:=@a;
      ShowMessage(IntToStr(Integer(p1)));
      p2:=Pointer(Integer(p1)+10);
      ShowMessage(IntToStr(Integer(p2)));
    end; 
      

  2.   

    Delphi里的指针偏移和C++不一样,并不支持加减操作。
    用Inc(p,n),其中p为指针,n为指针的偏移数,+/- 为 前/后。
      

  3.   

    Inc(p,n)
    或者p:=point(Integer(p)+n*sizeof(p))
      

  4.   

    op中类型检查很严格,也是我真羡慕c的自由