Futurebasic/语言/参考/sizeof
外观
dataSize = SIZEOF({var|typeName|ptrType^|hdlType^^})
此函数返回为特定变量 var
分配的内存字节数,或者为特定指定类型的每个变量分配的字节数。
如果指定 typeName
,它应该是在你的程序中先前定义的类型名称(在 BEGIN RECORD
语句或 #DEFINE
语句中),或者 FutureBasic 的内置类型名称之一(例如 INT
,LONG
,RECT
等)。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