Next: , Previous: BTEST, Up: Intrinsic Procedures


8.38 C_ASSOCIATED — Status of a C pointer

Description:
C_ASSOCIATED(c_prt_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.
Standard:
Fortran 2003 and later
Class:
Inquiry function
Syntax:
RESULT = C_ASSOCIATED(c_prt_1[, c_ptr_2])
Arguments:

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.

Return value:
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.
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_LOC, C_FUNLOC