Delphi 简单数据类型等价
Delphi simple data type equivalence
在Delphi中,如果X和Y是整数,我该如何编写代码使X和Y指向相同的内存位置?所以如果我说;
Y := 3;
X := 6;
write(Y);
输出将是 6?
据我了解,Delphi 中简单类型分配的默认行为是按值而不是按引用。
要使一个变量与另一个变量具有相同的地址,请使用 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
在Delphi中,如果X和Y是整数,我该如何编写代码使X和Y指向相同的内存位置?所以如果我说;
Y := 3;
X := 6;
write(Y);
输出将是 6? 据我了解,Delphi 中简单类型分配的默认行为是按值而不是按引用。
要使一个变量与另一个变量具有相同的地址,请使用 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