谁能告诉我Delphi中@和Pointer函数的区别。一定结贴

解决方案 »

  1.   

    @是取地址运算符!
    如:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    p1:^integer;
    i:integer;
    begin
      i:=12;
      p1:=@i;  //取得i的地址,然后指向P1
      showmessage(inttostr(p1^));  //显示P1中储蓄的内容
    end;
      
    Delphi中有2种指针类型,一种上有类型的指针,如前面定义的p1:^integer; 称为整型指针!
    另一种是无类型指针,那就是Pointer了!无类型指针的作用在于它与任何类型指针赋值兼容!以上是我个人的观点,希望对你有帮助~~  那里没有说对,还请多多包涵!
      

  2.   

    @ is get address operator;
    pointer( integer) cast the integer to a memory address (pointer)
      

  3.   

    pointer( integer) cast the integer to a memory address number (pointer)
      

  4.   

    @取地址,pointer返回内存位置。
      

  5.   

    加个 @表示取地址,而pointer是无类型指针。
      

  6.   

    这位仁兄应该没有看过数据结构把
    type
        PNode : ^Node
        Node=record
        Next:PNode;
        Peror:PNode;
        Data:integer
    end;
      

  7.   

    @=Addr
    Pointer则是类型,Pointer(xx)是强制类型转换http://lysoft.7u7.net