Next: AND, Previous: ALL, Up: Intrinsic Procedures [Contents][Index]

### 9.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