Delphi简单数据类型等价

Ala*_*din 1 delphi reference variable-assignment

在Delphi中,如果X和Y是整数,我如何编写代码使得X和Y指向相同的内存位置?如果我说的话

Y := 3;
X := 6;
write(Y);
Run Code Online (Sandbox Code Playgroud)

输出将是6?据我所知,Delphi中简单类型赋值的默认行为是值而不是引用.

Ser*_*yuz 5

要使变量具有相同的另一个变量的地址,请使用该absolute指令:

var
  Y: Integer;
  X: Integer absolute Y;
..
  Y := 3;   // X = 3
  X := 6;   // Y = 6
Run Code Online (Sandbox Code Playgroud)


或者,您可以使用指针来任意指向内存位置:

var
  Y: Integer;
  X: PInteger;
begin
  Y := 6;
  X := @Y;
  Write(X^);   // 6
Run Code Online (Sandbox Code Playgroud)

  • @Aladdin:如果你的意思是指针(参考文献),那么请阅读我的这篇文章:[寻址指针](http://rvelthuis.de/articles/articles-pointers.html). (2认同)