Fortran 90 lets you define deferred shape arrays and pointers. The actual bounds of a deferred shape array are not determined until the array is allocated, the pointer is assigned, or, in the case of an assumed shape argument to a subroutine, the subroutine is called.
The following example shows the type of a deferred shape array of real data with no defined lower or upper bounds:
real, allocatable, dimension(:) :: aa1
Here is the unallocated array displayed in the Data View: