caimaxwell 发表于 2023-3-6 22:05:59

分配内存

!integer*4, allocatable:: iblocks(:)%iSubblocks(:)

!allocate(iblocks(85)%iSubblocks(49))

想请教一下,第一行的声明为什么是不可行的?怎么声明才是正确的呢?

风平老涡 发表于 2023-3-6 22:57:56

type :: item
   integer * 4, allocatable :: subitem(:)
end type

type(item), allocatable :: iblocks(:)

allocate(iblocks(85))
do i = 1, 85
allocate(iblocks(i) % subitem(49))
end do

caimaxwell 发表于 2023-3-7 11:09:55

十分感谢您的解答,已解决,谢谢!
页: [1]
查看完整版本: 分配内存