SHAPE — Determine the shape of an array¶
- SHAPE()¶
Determines the shape of an array.
- Parameters
SOURCE – Shall be an array or scalar of any type. If
SOURCEis a pointer it must be associated and allocatable arrays must be allocated.KIND – (Optional) An
INTEGERinitialization expression indicating the kind parameter of the result.
- Returns
An
INTEGERarray of rank one with as many elements asSOURCEhas dimensions. The elements of the resulting array correspond to the extend ofSOURCEalong the respective dimensions. IfSOURCEis a scalar, the result is the rank one array of size zero. IfKINDis absent, the return value has the default integer kind otherwise the specified kind.
Standard:Fortran 90 and later, with
KINDargument Fortran 2003 and laterClass:Inquiry function
Syntax:RESULT = SHAPE(SOURCE [, KIND])
Example:PROGRAM test_shape INTEGER, DIMENSION(-1:1, -1:2) :: A WRITE(*,*) SHAPE(A) ! (/ 3, 4 /) WRITE(*,*) SIZE(SHAPE(42)) ! (/ /) END PROGRAM
See also:RESHAPE, SIZE