C_ASSOCIATED(3) - [ISO_C_BINDING] Status of a C pointer
result = c_associated(c_prt_1, [c_ptr_2] )
logical function c_associated(c_prt_1, cptr_2)TYPE,intent(in) ::c_ptr_1 TYPE,intent(in),optional ::c_ptr_2
o C_PTR_1 is a scalar of the type c_ptr or c_funptr. o C_PTR_2 is a scalar of the same type as c_ptr_1. o The return value is of type logical
C_ASSOCIATED(3) determines the status of the C pointer c_ptr_1 or if c_ptr_1 is associated with the target c_ptr_2.
o C_PTR_1 : C pointer to test for being a C NULL pointer, or to test if pointing to the same association as C_PTR_2 when present. o C_PTR_2 : C pointer to test for shared association with 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.
Sample program:
program demo_c_associatedcontains
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
end program demo_c_associated
Fortran 2003
C_LOC(3), C_FUNLOC(3), ISO_C_BINDING(3)
Fortran intrinsic descriptions
Nemo Release 3.1 | c_associated (3fortran) | November 02, 2024 |