ASSOCIATED

問合せ組込み関数 (総称):ポインタ引数の結合状態を返すか,ポインタが指示先に結合されているかどうかを示します。

形式

result = ASSOCIATED (pointer [, target])

pointer
(入力) 任意のデータ型のポインタ。

target
(省略可能,入力) ポインタまたは指示先。(pointer または target 中の) ポインタは,不定の結合状態を持っていてはなりません。

結果

結果の型は基本論理型スカラです。

pointer だけが指定されている場合,その結果は,ポインタが指示先に現在結合されている場合には真,そうでない場合には偽となります。

target も指定されており,それが指示先である場合,結果は,pointer が現在 target に結合されている場合には真,そうでない場合には偽となります。

target がポインタである場合,結果は,pointertarget の両方が現在同じ指示先に結合されている場合には真,そうでない場合には偽となります (pointer または target が空状態にある場合,結果は偽となります)。

整数の大きさを指定するコンパイラ・オプション /integer_size の設定は,この関数に影響を与えることがあります。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

ALLOCATEDPOINTERTARGET

	REAL C (:), D(:), E(5)
	POINTER C, D
	ARGET E
	LOGICAL STATUS
	C => E				! ポインタ代入
	D => E				! ポインタ代入
	STATUS = ASSOCIATED(C)		! TRUE を返します。C が結合されています。
	STATUS = ASSOCIATED(C, E)	! TRUE を返します。C が E に結合されています。
	STATUS = ASSOCIATED (C, D)	! TRUE を返します。C と D が同じ指示先に
					! 結合されています。

次に例を示します。

	REAL, TARGET, DIMENSION (0:50) :: TAR 
	REAL, POINTER, DIMENSION (:) :: PTR 
	PTR => TAR
	PRINT *, ASSOCIATED (PTR, TAR)	! 真を返す

PTR の添字範囲は 0:50 です。次のポインタ代入文を考えます。

	(1) PTR => TAR (:)
	(2) PTR => TAR (0:50)
	(3) PTR => TAR (0:49)

12 では,ASSOCIATED (PTR, TAR) は,TAR が変更されていないので真となります (PTR の添字範囲は,形状引継ぎ配列の規則に従って,どちらの場合でも 1:51 となります)。文 3 では,ASSOCIATED (PTR, TAR) は,TAR の上限が変更されているので偽となります。

次に例を示します。

	REAL, POINTER, DIMENSION (:) :: PTR2, PTR3 
	ALLOCATE (PTR2 (0:15))
	PTR3 => PTR2
	PRINT *, ASSOCIATED (PTR2, PTR3)	! 真を返す
	...
	NULLIFY (PTR2)
	NULLIFY (PTR3)
	PRINT *, ASSOCIATED (PTR2, PTR3)	! 偽を返す