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
语句,了解如何防止变量使用寄存器存储。
由于“@
”符号在 PRINT
或 LPRINT
关键字后面出现时具有特殊含义,因此您不能将 @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