Next: SIGN, Previous: SET_EXPONENT, Up: Intrinsic Procedures

`SHAPE`

— Determine the shape of an array*Description*:- Determines the shape of an array.
*Standard*:- Fortran 95 and later
*Class*:- Inquiry function
*Syntax*:`RESULT = SHAPE(SOURCE)`

*Arguments*:-
`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. *Return value*:- An
`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. *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