allocated(array)
and allocated(scalar)
check the allocation status of array
and scalar
, respectively.
Fortran 95 and later. Note, the scalar=
keyword and allocatable scalar entities are available in Fortran 2003 and later.
result = allocated(array)
result = allocated(scalar)
array
- the argument shall be an allocatable
array.scalar
- the argument shall be an allocatable
scalar.The return value is a scalar logical
with the default logical kind type parameter. If the argument is allocated then the result is .true.
; otherwise, it returns .false.
.
program test_allocated
integer :: i = 4
real(4), allocatable :: x(:)
if (allocated(x) .eqv. .false.) allocate(x(i))
end program test_allocated