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