TARGET

文と属性:オブジェクトがポインタの指示先になれる (指すことができる) ことを指定します。

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

関連情報

ALLOCATEASSOCIATEDPOINTER型宣言属性の互換性ポインタ結合ポインタ代入

次の例は,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
	. . .