我想在fortran90中填充一个大小未知的数组。这是MATLAB中的等效代码:
for i=1:10
A[i] = i
end我知道我可以传递大小,但是如何在不传递数组大小的情况下在fortran90中做到这一点。我读到我们可以使用指针,但我真的不知道如何处理指针
发布于 2017-07-11 05:41:55
我知道您希望在知道数组的最终大小之前开始向数组中添加元素。
例如,您希望从文件中读取值,直到到达文件的末尾,而不知道有多少值。
我可以想到三种方法:
发布于 2017-07-11 13:38:00
按照我读你的问题的方式,你有一个子例程需要填充一个数组,但是这个数组的大小未知,你不想传递这个大小。所以你不想这样:
SUBROUTINE FILL( A, N )
INTEGER N
INTEGER A(N)
INTEGER I
DO I=1,N
A(I) = I
END DO
END SUBROUTINE FILL相反,您希望获得数组的SIZE:
SUBROUTINE FILL( A )
INTEGER A(:)
INTEGER I
DO I=1,SIZE(A)
A(I) = I
END DO
END SUBROUTINE FILLhttps://stackoverflow.com/questions/45025647
复制相似问题