我在fortran77 dec(3,25000)中有以下数组,即使只使用了第二维中25000个位置中的8898个。
我将此数组作为参数与其他数组一起传递给C函数。即使其他参数的值似乎正确,但dec()值也是错误的。
我试过只传递dec()数组,结果是一样的。 dec(1,1)(fortran77)中的值等于dec [0] [0](C)中的值,但对于数组中的随机位置,在调用C之前,我在fortran77中没有得到相同的值功能和C功能。
知道为什么会这样吗?
数组在fortran中声明为真正的* 8 dec(3,25000),在C中声明为int dec [3] [25000]。
提前致谢
答案 0 :(得分:5)
请记住,二维数组的主要顺序是在两种语言之间交换的。因此,在另一种语言中,dec[i][j]
在另一种语言中为dec[j][i]
,加上您已经找到的索引库调整。