首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

integer(@P)和 integer(P)有什么区别解决方法

2012-03-23 
integer(@P)和 integer(P)有什么区别procedure TForm1.Button11Click(Sender: TObject)typeTpstr ^Tstr

integer(@P)和 integer(P)有什么区别
procedure TForm1.Button11Click(Sender: TObject);
type
  Tpstr =^Tstr;
  Tstr = record
  i: integer;
  s: string;
  end;
var
  p: Tpstr;
  p1: Pointer;
begin
  new(p);
  showmessage(inttostr(integer(@P)));
  showmessage(inttostr(integer(P)));
  dispose(p);

end;

integer(@P)和 integer(P)有什么区别。
integer函数在delphi里是怎么解释的。查资料没找到。

[解决办法]
因为i就是结构体的第一个字段,所以
integer(@P^.i)=integer(@(P^.i))=integer(P),
integer(@P)是指针变量本身的地址,integer(P)是指针指向的地址,而integer(@P^.i)是i的地址

探讨
我觉integer(@P^.i)的值应该更靠近 integer(@P) 而不是integer(P)

热点排行