ASSOCIATED — Status of a pointer or pointer/target pairASSOCIATED(POINTER [, TARGET]) determines the status of the pointer
POINTER or if POINTER is associated with the target TARGET.
RESULT = ASSOCIATED(POINTER [, TARGET])
| POINTER | POINTER shall have the POINTER attribute
and it can be of any type.
|
| TARGET | (Optional) TARGET shall be a pointer or
a target. It must have the same type, kind type parameter, and
array rank as POINTER.
|
ASSOCIATED(POINTER) returns a scalar value of type LOGICAL(4).
There are several cases:
ASSOCIATED(POINTER) is true if POINTER is associated with a target; otherwise, it returns false.
program test_associated
implicit none
real, target :: tgt(2) = (/1., 2./)
real, pointer :: ptr(:)
ptr => tgt
if (associated(ptr) .eqv. .false.) call abort
if (associated(ptr,tgt) .eqv. .false.) call abort
end program test_associated