Skip to content

SIZEOF


返回变量或类型的字节大小。

语法

Sizeof ( variable | DataType )

说明

Sizeof 运算符返回一个 Integer 值:variableDataType(包括 UDT 的数据字段)占用的字节数。

当与固定长度字符串(包括固定长度的 ZstringWstring)一起使用时,返回它们使用的字节数;当与可变长度字符串一起使用时,返回字符串描述符的大小。

(自 fbc 版本 1.20.0 起,仅当与 STRING*N 类型的固定长度字符串一起使用时,它才等于 Len

如果在当前作用域中存在同名的用户自定义类型和变量,则用户自定义类型优先于变量。为确保 Sizeof 取变量而不是用户自定义类型,请用括号包裹 Sizeof 的参数以强制将其视为表达式。例如 Sizeof((variable))

注意:与数组名一起使用时,Sizeof 返回数组数据类型的大小,而不是数组的总大小。这与其在 C 中的行为不同,在 C 中数组只能是固定大小,sizeof() 会返回其使用的字节数。

为了清晰起见,建议避免这种潜在的混淆,使用 Sizeof 处理数组数据类型时,使用 Sizeof(Typeof(array)) 而不是仅使用数组名 Sizeof(array)

备注:与解引用的 z/wstring 指针一起使用时,Sizeof 始终返回一个 z/wstring 字符占用的字节数。

示例

start GeSHi

vb
Print SizeOf(Byte) ' returns 1

end GeSHi

start GeSHi

vb
Type bar
    a As Integer
    b As Double
End Type
Dim foo As bar
Print SizeOf(foo)

end GeSHi

版本

  • 在 fbc 1.08.0 之前:

方言差异

  • -lang qb 方言中不可用,除非使用别名 __Sizeof 引用。

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • Len

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系