問合せ組込み関数 (総称):記憶項目の内部アドレスを返します。この個別関数は実引数として渡すことはできません。
形式
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;
}