Delphi简单数据类型等效

时间:2018-12-14 23:34:43

标签: delphi reference variable-assignment

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

Y := 3;
X := 6;
write(Y);

输出将是6? 据我了解,Delphi中简单类型分配的默认行为是按值而不是按引用。

1 个答案:

答案 0 :(得分:5)

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

var
  Y: Integer;
  X: Integer absolute Y;
..
  Y := 3;   // X = 3
  X := 6;   // Y = 6


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

var
  Y: Integer;
  X: PInteger;
begin
  Y := 6;
  X := @Y;
  Write(X^);   // 6