   SUBROUTINE FuncWithMatrixParam( A )
     IMPLICIT NONE

     REAL, DIMENSION( : ) :: A 

     integer i, j

     print *, "Number of elements = ", SIZE(A)
     print *

     DO i = 1, SIZE(A)
        print *, A(i)
     END DO

     print *
   END

! ============================================================

   PROGRAM Main

   REAL, DIMENSION(3) :: A = (/ 111, 222, 333 /)
   integer i

   INTERFACE
     SUBROUTINE FuncWithMatrixParam( A )
       REAL, DIMENSION( : ) :: A
     END SUBROUTINE
   END INTERFACE

   CALL FuncWithMatrixParam( A )

   END

