type Level
real(kind=8):: hx
real(kind=8):: hy
integer::ii
integer::jj
real(kind=8),allocatable::u(:,:),v(:,:),f(:,:),g(:,:)
real(kind=8),allocatable::uconv(:,:),vconv(:,:)
real(kind=8),allocatable::uold(:,:),vold(:,:)
end type
type Stack
integer::nx0
integer::ny0
integer::maxlevel
real(kind=8)::xa, xb
real(kind=8)::ya, yb
real(kind=8)::wu
type(Level),allocatable::Lk(:)
end type Stack
上述代码中,可以看到stack结构体中还有一个Level结构体,当Level结构体是结构体组的话,也应该像定义动态数组一样,加上allocatable。
type(Stack)::Us
allocate(Us%Lk(maxlevel))
分配空间的时候也和动态数组一样分配。