POINTER (整數) (IBM 延伸)
用途
整數 POINTER 陳述式指定變數 int_pointer 的值要用作 pointee的任何參照的位址。
此陳述式的名稱已從 POINTER 變更為整數 POINTER ,以與 Fortran 90 POINTER 陳述式區分。
語法
規則
編譯器不會為被指定者配置儲存體。 通過將儲存器塊的地址指派給指標,在執行時間將儲存器與被指定者相關聯。 被指者可以變成與靜態或動態儲存體相關聯。 指向被指定者的參照需要定義相關聯的指標。
整數指標是 類型 INTEGER(4) (32 位元模式) 及 類型 INTEGER(8) (64 位元模式) (64 位元模式) 的純量變數,不能明確指派類型給它。 您可以在任何表示式或陳述式中使用整數指標,其中可以使用與整數指標相同類型的變數。 您可以將任何資料類型指派給被指定者,但無法將儲存類別或起始值指派給被指定者。
在整數 POINTER 陳述式中顯示為被指的實際陣列稱為被指的陣列。 您可以在類型宣告陳述式、 DIMENSION 陳述式或整數 POINTER 陳述式本身中對被指定的陣列進行維度。
如果您指定 -qddim 編譯器選項,則在主程式中出現的點式陣列也可以具有可調式陣列規格。 在主程式和子程式中,當被指定者被參照 (動態維度化) 時,會評估維度大小。
如果您未指定 -qddim 編譯器選項,則出現在子程式中的指定陣列可以具有可調整的陣列規格,而且維度大小會在子程式的入口進行評估,而不是在評估指定的指定時進行評估。
下列限制適用於稜角及整數指標的定義及使用:
- 被指定者不能是零大小。
- 被指可以是純量、假設大小的陣列或明確形狀的陣列。
- 被指定者無法出現在 COMMON、 DATA、 NAMELIST或 EQUIVALENCE 陳述式中。
- 受指派者不能具有下列屬性: EXTERNAL、 ALLOCATABLE、 POINTER、 TARGET、 INTRINSIC、 INTENT、 OPTIONAL、 SAVE、 STATIC、 AUTOMATIC或 PARAMETER。
- 被指定者不能是虛擬引數,因此不能出現在 FUNCTION、 SUBROUTINE或 ENTRY 陳述式中。
- 被指定者不能是自動物件,雖然被指定者可以具有非常數界限或長度。
- 被指定者不能是通用介面區塊名稱。
- 衍生類型的被指定者必須是序列衍生類型。
- 函數值不能是被指定的。
- 整數指標無法由另一個指標指向。 (指標不能是被指定的。)
- 整數指標不能具有下列屬性:
- 整數指標不能顯示為 NAMELIST 群組名稱。
- 整數指標不能是程序。
範例
INTEGER A,B
POINTER (P,I)
IF (A<>0) THEN
P=LOC(A)
ELSE
P=LOC(B)
ENDIF
I=0 ! Assigns 0 to either A or B, depending on A's value
END
相關資訊
- 整數指標關聯 (IBM 延伸)
- LOC (X) (IBM 延伸)
- XL Fortran 編譯器參照 中的 -qddim option

