我想创建一个派生数据类型,其中包含一个表和该表的长度。理想情况下,我想声明如下
type mydata
integer :: ndata
real, dimension(ndata) :: x
end type mydata
但是一开始 ndata 是未知的,因此 x 是一个动态表。
allocatable
当 ndata 已知时,我是否必须使用x 并分配它?
type mydata
integer :: ndata
real, dimension(:), allocatable :: x
end type mydata
....
type(mydata) :: var
var % ndata = 10
allocate(var % x(10))
处理此类案件的最佳方法是什么?