跳到内容

Futurebasic/语言/参考/varptr

来自维基教科书,自由的教学读物
address& = VARPTR({var|FN userFunction})
address& = @var

VARPTR(var) 返回变量 var 的第一个字节所在的内存地址。您可以将此值用作指向 var 的“指针”。如果 var 是局部函数中的局部变量,则 VARPTR(var) 返回的值在每次执行函数时可能不同,并且在函数退出后无效。语法 @var 只是 VARPTR(var) 的简写版本。

VARPTR(FN userFunction) 等同于 @FN userFunction 函数。

您不能将 VARPTR(var) 用于使用寄存器存储的变量,因为此类变量没有地址。请参见 DIM 语句和 REGISTER ON/OFF 语句,了解如何防止变量使用寄存器存储。

由于“@”符号在 PRINTLPRINT 关键字后面出现时具有特殊含义,因此您不能将 @var 语法用作打印项列表中的第一个项。

PRINT @myVar#<spacer type="horizontal" size="15">'This does not work<br> ("@" is misinterpreted)
PRINT (@myVar#)<spacer type="horizontal" size="144">'This works.
PRINT VARPTR(myVar#)<spacer type="horizontal" size="108">'This works too.

@FN; REGISTER ON/OFF; PRINT; LPRINT; PEEK; POKE; BLOCKMOVE; DIM

华夏公益教科书