1
我想要使用一個數組Ar(-3:3,5),它是模塊global中的一個可分配變量,並將其分配給一個子例程並在下一個子例程中訪問它(請參閱代碼下面的片段)。第二個子程序中的索引是從-3到3還是從1到5,還是必須在子程序中指定?Fortran:模塊中的可分配變量
module global
real, allocatable(:,:) :: Ar
end module global
subroutine allocateAr
use global
ALLOCATE(Ar(-3:3, 5))
end subroutine allocateAr
subroutine useAr
use global
Ar(-3,1)=3.0 !is this -3,1 here or do I have to use 1,1????
end subroutine useAr
我會敦促你不要使用全局變量。這只是你將要面對的許多不必要的問題之一,如果你簡單地在例程之間傳遞變量而不是依賴於全局可變狀態,那麼這些問題將被大部分繞過。 – 2013-04-29 12:47:37
如果我從頭開始編寫這個程序,可能是一個好主意,但我不會更改數千行代碼... – user1638145 2013-04-29 13:12:57
您花費更新幾千行代碼的時間將少於重複使用的時間不必要地調試相同的幾千行代碼;特別是如果你在eclipse中使用像photran這樣的現代工具來進行重構。 – 2013-04-29 13:22:55