文と属性:オブジェクトがポインタの指示先になれる (指すことができる) ことを指定します。
TARGET 属性は,型宣言文または TARGET 文で指定することができ,以下のいずれかの形式を取ります。
形式
型宣言文
type,[att-ls,]TARGET[,att-ls]::object[(a-spec)][,object[(a-spec)]]...
文
TARGET[::]object[(a-spec)][,object[(a-spec)]]...
type
データ型指定子。
att-ls
省略可能な属性指定子並び。
object
オブジェクトの名前。オブジェクトは PARAMETER 属性を付けて宣言することはできません。
a-spec
(省略可能) 配列宣言。
規則と振る舞い
ポインタは,ポインタ代入か ALLOCATE 文によって指示先に結合されます。
オブジェクトが TARGET 属性を持たないか,(ALLOCATE 文によって) 割り付けられていない場合,オブジェクトのどの部分もポインタでは参照できません。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
ALLOCATE,ASSOCIATED,POINTER,型宣言,属性の互換性,ポインタ結合,ポインタ代入
例
次の例は,TARGET 属性を指定する型宣言文を示しています。
TYPE(SYSTEM), TARGET :: FIRST REAL, DIMENSION(20, 20), TARGET :: C, D
次に TARGET 文の例を示します。
TARGET :: C(50, 50), D
以下は,\DF\SAMPLES\TUTORIAL にある POINTER2.F90 から抜粋したものです。
! ポインタ代入の例 REAL, POINTER :: arrow1 (:) REAL, POINTER :: arrow2 (:) REAL, ALLOCATABLE, TARGET :: bullseye (:) ALLOCATE (bullseye (7)) bullseye = 1. bullseye (1:7:2) = 10. WRITE (*,'(/1x,a,7f8.0)') 'target ',bullseye arrow1 => bullseye WRITE (*,'(/1x,a,7f8.0)') 'pointer',arrow1 . . .