跳转到内容

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

华夏公益教科书