C_ASSOCIATED
— Status of a C pointer ¶C_ASSOCIATED(c_ptr_1[, c_ptr_2])
determines the status of the C pointer
c_ptr_1 or if c_ptr_1 is associated with the target c_ptr_2.
Fortran 2003 and later
Inquiry function
RESULT = C_ASSOCIATED(c_ptr_1[, c_ptr_2])
c_ptr_1 | Scalar of the type C_PTR or C_FUNPTR . |
c_ptr_2 | (Optional) Scalar of the same type as c_ptr_1. |
The return value is of type LOGICAL
; it is .false.
if either
c_ptr_1 is a C NULL pointer or if c_ptr1 and c_ptr_2
point to different addresses.
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_LOC
— Obtain the C address of an object,
C_FUNLOC
— Obtain the C address of a procedure