C_LOC — Obtain the C address of an object#
-
C_LOC(X)#
C_LOC(X)
determines the C address of the argument.- Parameters
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.
- Returns
The return value is of type
C_PTR
and contains the C address of the argument.
- Standard:
Fortran 2003 and later
- Class:
Inquiry function
- Syntax:
RESULT = C_LOC(X)
- Example:
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
- See also:
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