C_LOC
— Obtain the C address of an object ¶C_LOC(X)
determines the C address of the argument.
Fortran 2003 and later
Inquiry function
RESULT = C_LOC(X)
X | Shall have either the POINTER or TARGET attribute. It shall not be a coindexed object. It shall either be a variable with interoperable type and kind type parameters, or be a scalar, nonpolymorphic variable with no length type parameters. |
The return value is of type C_PTR
and contains the C address
of the argument.
subroutine association_test(a,b) use iso_c_binding, only: c_associated, c_loc, c_ptr implicit none real, pointer :: a type(c_ptr) :: b if(c_associated(b, c_loc(a))) & stop 'b and a do not point to same target' end subroutine association_test
C_ASSOCIATED
— Status of a C pointer,
C_FUNLOC
— Obtain the C address of a procedure,
C_F_POINTER
— Convert C into Fortran pointer,
C_F_PROCPOINTER
— Convert C into Fortran procedure pointer