Next: , Previous: SET_EXPONENT, Up: Intrinsic Procedures


6.188 SHAPE — Determine the shape of an array

Description:
Determines the shape of an array.
Standard:
F95 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