Fortran Wiki
c_loc

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, iso_c_binding

category: intrinsics