跳轉到內容

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:資料型別和資料表示

華夏公益教科書