The GNU Fortran Compiler: C_ASSOCIATED

Next: C_F_POINTER, Previous: BTEST, Up: Intrinsic Procedures [Contents][Index]

### 8.52 `C_ASSOCIATED` — Status of a C pointer

Description:

  `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.

Standard:

  Fortran 2003 and later

Class:

  Inquiry function

Syntax:

  `RESULT = C_ASSOCIATED(c_ptr_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