跳到内容

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:数据类型和数据表示

华夏公益教科书