program main use test implicit none type array_pointer real,pointer::ptr(:) end type array_pointer real,target::a(3,3) real,target::b(4,4) type(array_pointer)::x(2) a=1.0 b=2.0 !方法1 x(1)%ptr(1:size(a))=>a x(2)%ptr(1:size(b))=>b write(*,*)x(1)%ptr write(*,*)x(2)%ptr end program main