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