Futurebasic/语言/参考/offsetof
外观
(+) 外观 (+) 标准 (+) 控制台
byteOffset = OFFSETOF(fieldName IN {recordType|trueRecVar}) byteOffset = OFFSETOF(const [IN pseudoRecVar])
使用此函数查找特定字段在记录中开始的位置。 OFFSETOF 返回字段的偏移量,以字节数表示,该字节数位于记录的开头。 在第一个语法中,recordType 是 BEGIN RECORD 语句中定义的“真记录”类型的名称; trueRecVar 是声明为“真记录”类型的变量; fieldName 是该“真记录”类型中字段的名称。 在第二个语法中,const 是一个符号整型常量,没有前导下划线字符。 通常,这将是在 DIM RECORD...DIM END RECORD 块中定义的常量。 pseudoRecVar.recLen 是声明为 DIM psuedoRecVar.recLen 的“伪记录”变量。 当您使用第二个语法时,OFFSETOF 只是返回 const 的值。 因为符号常量总是具有全局作用域,所以 IN pseudoRecVar 子句不是必需的。 作为 fieldName 传递的值被编译器视为常量。 您不使用类型指示符后缀,例如 $,&,#, 等等。
SIZEOF; TYPEOF; BEGIN RECORD; DIM RECORD; 附录 C:数据类型和数据表示