Determines the shape of an array.
Fortran 95 and later
result = shape(source)
source- Shall be an array or scalar of any type. If
sourceis a pointer it must be associated and allocatable arrays must be allocated.
integer array of rank one with as many elements as
source has dimensions. The elements of the resulting array correspond to the extend of
source along the respective dimensions. If
source is a scalar, the result is the rank one array of size zero.
program test_shape integer, dimension(-1:1, -1:2) :: a write(*,*) shape(a) ! (/ 3, 4 /) write(*,*) size(shape(42)) ! (/ /) end program