C_LOC(3) - [ISO_C_BINDING] Obtain the C address of an object
result = c_loc(x)
C_LOC(3) determines the C address of the argument.
o 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.
Sample program:
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
Fortran 2003
C_ASSOCIATED(3), C_FUNLOC(3), C_F_POINTER(3),
C_F_PROCPOINTER(3), ISO_C_BINDING(3)
Fortran intrinsic descriptions
Nemo Release 3.1 | c_loc (3fortran) | November 02, 2024 |