For example, the calling program declares
real, dimension(50) :: Z call test(Z)and the subroutine header is
subroutine test(Z) real, dimension(*) :: ZThe idea in F77 was that Z was allocated in the calling program; the only thing the subroutine needs to know is where the array Z starts; all other elements are found in subsequent memory locations.