slyu 发表于 2006-8-8 20:51:23

【请教】fortran90中数组片断如何传递

在fortran90中,如果主程序和子程序之间传递数组片断,是和引用整个数组一样传递地址吗?
还是用其他的方式?请高手指点!

zhangzuoyan 发表于 2006-8-16 11:29:10

you can use module, extract that array to module, for example.
modulemydata
real, dimension()::a
end
program main()
call pp()
end
subroutinepp()

^^^
end

zhangzuoyan 发表于 2006-8-16 11:29:56

sorry, in main program you should write use mydata,in subroutine you should use module as well, and you dont need to define this array in main program and subroutine.

[ 本帖最后由 zhangzuoyan 于 2006-8-18 08:01 编辑 ]

freepu 发表于 2006-8-21 05:19:52

假设主程序有数组a(10,20),子程序有数组b(5,20)
如下调用
call subtest (5, 20, a(5,1))
子程序subtest 将获得主程序数组a(10,20)中自a(5,1)开始的维数为(5,20)的片段。
页: [1]
查看完整版本: 【请教】fortran90中数组片断如何传递