跳轉到內容

Futurebasic/語言/參考/sizeof

來自華夏公益教科書,開放的書籍,開放的世界

dataSize = SIZEOF({var|typeName|ptrType^|hdlType^^})

此函式返回為特定變數 var 分配的記憶體位元組數,或為特定指定型別分配的每個變數分配的位元組數。

如果指定 typeName,它應該是在程式中之前定義的型別的名稱(在 BEGIN RECORD 語句或 #DEFINE 語句中),或 FutureBasic 內建型別之一的名稱(例如 INTLONGRECT 等)。SIZEOF 返回該型別變數的大小。

如果指定 ptrType^,則 ptrType 應該是之前宣告為指向其他型別的指標的型別的名稱(在 #DEFINE 語句中)。在這種情況下,SIZEOF 返回 ptrType 指向的型別的大小。請注意,如果省略 "^" 符號,SIZEOF(ptrType) 僅返回指標變數的大小(通常為 4)。

如果指定 hdlType^^,則 hdlType 應該是之前宣告為指向其他型別的控制代碼的型別的名稱(在 #DEFINE 語句中)。在這種情況下,SIZEOF 返回 hdlType 引用的型別的大小。請注意,如果省略 "^^" 符號,SIZEOF(hdlType) 僅返回控制代碼變數的大小(通常為 4)。

SIZEOF(stringVar$) 返回為字串變數 stringVar$ 在記憶體中預留的位元組數。這與 LEN(stringVar$) 不同。

如果變數 handleVar 包含可重定位塊的控制代碼(可能是未知型別),可以使用工具箱函式 GETHANDLESIZE 來確定塊的大小。

TYPEOF; LEN; BEGIN RECORD; #DEFINE

華夏公益教科書