C_ASSOCIATED— Status of a C pointer
C_ASSOICATED(c_prt1[, c_ptr2])determines the status of the C pointer c_ptr1 or if c_ptr1 is associated with the target c_ptr2.
RESULT = C_ASSOICATED(c_prt1[, c_ptr2])
|c_ptr1||Scalar of the type |
|c_ptr2||(Optional) Scalar of the same type as c_ptr1.
LOGICAL; it is
.false.if either c_ptr1 is a C NULL pointer or if c_ptr1 and c_ptr2 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