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中简单类型赋值的默认行为是值而不是引用.
要使变量具有相同的另一个变量的地址,请使用该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)