9.52 C_LOC — Obtain the C address of an object

Description:

C_LOC(X) determines the C address of the argument.

Standard:

Fortran 2003 and later

Class:

Inquiry function

Syntax:

RESULT = C_LOC(X)

Arguments:
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.
Return value:

The return value is of type C_PTR and contains the C address of the argument.

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, C_FUNLOC, C_F_POINTER, C_F_PROCPOINTER

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gfortran/C_005fLOC.html