在fortran子程序中传递多维数组



我正试图理解别人写的Fortran代码。代码正在做它应该做的事情,所以我假设它工作得很好。一个名为"fft"的子程序被另一个名为"convol"的子程序调用。在"convol"中,数组是这样声明的:

real, dimension fri(n+1,n,nh,2,0:1)
call fft(fri)

在"fft"内部,声明如下:

subroutine wrft3b(fri) 
real, dimension fri(2,n+1,n,nh,0:1) 

我不明白为什么数组长度不一致,代码仍然在工作。有什么线索吗?

重要的是长度是相同的。如果接口不是显式的,则不会为连续的显式形状数组抛出错误。只有数组元素的索引(由列主序决定)与调用程序中的不同。

相关内容

  • 没有找到相关文章

最新更新