跳转到内容

Futurebasic/语言/参考/sizeof

来自维基教科书,自由的教科书

dataSize = SIZEOF({var|typeName|ptrType^|hdlType^^})

此函数返回为特定变量 var 分配的内存字节数,或者为特定指定类型的每个变量分配的字节数。

如果指定 typeName,它应该是在你的程序中先前定义的类型名称(在 BEGIN RECORD 语句或 #DEFINE 语句中),或者 FutureBasic 的内置类型名称之一(例如 INTLONGRECT 等)。SIZEOF 返回该类型变量的大小。

如果指定 ptrType^,则 ptrType 应该是在先前声明为指向其他类型的指针的类型名称(在 #DEFINE 语句中)。在这种情况下,SIZEOF 返回 ptrType 指向的类型的大小。请注意,如果你省略了 "^" 符号,SIZEOF(ptrType) 只返回指针变量的大小(通常为 4)。

如果指定 hdlType^^,则 hdlType 应该是在先前声明为指向其他类型的句柄的类型名称(在 #DEFINE 语句中)。在这种情况下,SIZEOF 返回 hdlType 引用的类型的大小。请注意,如果你省略了 "^^" 符号,SIZEOF(hdlType) 只返回句柄变量的大小(通常为 4)。

SIZEOF(stringVar$) 返回为字符串变量 stringVar$ 在内存中保留的字节数。这与 LEN(stringVar$) 不同。

如果变量 handleVar 包含可重定位块(可能是未知类型)的句柄,你可以使用工具箱函数 GETHANDLESIZE 来确定块的大小。

TYPEOF; LEN; BEGIN RECORD; #DEFINE

华夏公益教科书