Next: AND, Previous: ALL, Up: Intrinsic Procedures

### 8.14 `ALLOCATED` — Status of an allocatable entity

Description:
  `ALLOCATED(ARRAY)` and `ALLOCATED(SCALAR)` check the allocation status of ARRAY and SCALAR, respectively.
Standard:
  Fortran 95 and later. Note, the `SCALAR=` keyword and allocatable scalar entities are available in Fortran 2003 and later.
Class:
  Inquiry function
Syntax:

  `RESULT = ALLOCATED(ARRAY)`
  `RESULT = ALLOCATED(SCALAR)`

Arguments:

  ARRAY | The argument shall be an `ALLOCATABLE` array.
  SCALAR | The argument shall be an `ALLOCATABLE` scalar.

Return value:
  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.`
Example:

                program test_allocated
                  integer :: i = 4
                  real(4), allocatable :: x(:)
                  if (.not. allocated(x)) allocate(x(i))
                end program test_allocated