SIZEOF
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgSizeof
- 最后更新: 2024-04-03
返回变量或类型的字节大小。
语法
Sizeof ( variable | DataType )说明
Sizeof 运算符返回一个 Integer 值:variable 或 DataType(包括 UDT 的数据字段)占用的字节数。
当与固定长度字符串(包括固定长度的 Zstring 和 Wstring)一起使用时,返回它们使用的字节数;当与可变长度字符串一起使用时,返回字符串描述符的大小。
(自 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 1end 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
返回 目录