LOC

問合せ組込み関数 (総称):記憶項目の内部アドレスを返します。この個別関数は実引数として渡すことはできません。

形式

result = LOC (x)

x
(入力) 変数,配列あるいは記録欄引用,手続,または定数。任意のデータ型を使用することができます。これは内部手続または文関数の名前であってはなりません。ポインタである場合,定義されており,指示先に結合されている必要があります。

結果

結果の型は,ia32 プロセッサーでは INTEGER(4),Alpha および ia64 プロセッサーでは INTEGER(8) です。結果の値はデータ・オブジェクトのアドレスか,ポインタの場合には,それに結合された指示先のアドレスを表します。引数が無効である場合,結果は不定となります。

LOC%LOC ビルトイン関数と同じ機能を果たします。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

	! 整数ポインタを C 言語に渡す言語が混在したプログラム例

	! Fortran 主プログラム
	  INTERFACE
	    SUBROUTINE Ptr_Sub (p)
	      !DEC$ ATTRIBUTES C, ALIAS:'_Ptr_Sub' :: Ptr_Sub
	      INTEGER p
	     END SUBROUTINE Ptr_Sub
	  END INTERFACE
	  REAL A[10], VAR[10]
	  POINTER (p, VAR)	! VAR はポインタ変数
				! p は整数ポインタ
	  p = LOC(A)
	  CALL Ptr_Sub (p)
	  WRITE(*,*) "A(4) = ", A(4)
	  END

	/* C 副プログラム */
	void Ptr_Sub (int *p)
	{
	  float a[10];
	  a[3] = 23.5;
	  *p = a;
	}