SHAPE — Determine the shape of an array#
-
SHAPE(SOURCE, KIND)#
Determines the shape of an array.
- Parameters
SOURCE – Shall be an array or scalar of any type. If
SOURCE
is a pointer it must be associated and allocatable arrays must be allocated.KIND – (Optional) An
INTEGER
initialization expression indicating the kind parameter of the result.
- Returns
An
INTEGER
array of rank one with as many elements asSOURCE
has dimensions. The elements of the resulting array correspond to the extend ofSOURCE
along the respective dimensions. IfSOURCE
is a scalar, the result is the rank one array of size zero. IfKIND
is absent, the return value has the default integer kind otherwise the specified kind.
- Standard:
Fortran 90 and later, with
KIND
argument Fortran 2003 and later- Class:
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 — Function to reshape an array, SIZE — Determine the size of an array