作者:
laa7352 (Laa)
2014-10-23 09:48:00請參考如下
program main_test
real,allocatable :: aaa(:,:,:,:)
real,allocatable :: bbb(:,:,:,:)
integer ii,jj,kk
! ii,jj,kk=.....
allocate ( aaa(ii,jj,kk,3) )
allocate ( bbb(ii,jj,kk,3) )
do i=1,kk
...
aaa(...)=...
bbb(...)=...
..
enddo
call sub_test (aaa,bbb,ii,jj,kk)
stop
end
subroutine sub_test(aaa,bbb,ii,jj,kk)
real :: aaa,bbb
integer :: ii,jj,kk
dimenstion aaa(ii,jj,kk,3)
dimenstion bbb(ii,jj,kk,3)
print*, aaa,bbb
return
end
※ 引述《zx168zx (zx168zx)》之銘言:
: 小弟想請益一下
: 如何將主程式所設定好的矩陣傳入副程式
: 小弟的矩陣是四維的
: 一開始先設定allocatable的四維可變矩陣
: allocatable :: aaa(:,:,:,:)
: allocatable :: bbb(:,:,:,:)
:
作者: screase (crossstep) 2014-10-23 10:02:00
副程式內要先宣告real :: ii,jj,kk才能接收參數另外,3這個常數參數傳遞方式錯了 必須用變數去接收實際上也沒有傳遞3的需要 因為直接在宣告大小裡寫出就好抱歉 是宣告integer :: ii,jj,kk才對