在Nyhoff的Fortran書中, 51,聲明變量可以通過「常量表達式」來初始化。然而,Nyhoff似乎沒有說明一個常數表達式究竟是什麼。Fortran中的變量初始化
問題1:變量是否可以由用戶定義的函數初始化?例如:real :: myreal=myrealfunc(4.0)
(這是可能的的變量由本徵函數被初始化。)
問題2:這是不直接相關的問題1考慮的情況下,當主節目不use
的特定模塊,但其中一個子程序use
這個模塊。如果一個變量是這個模塊的一部分,它是在主程序執行開始時初始化的,還是直到子程序(模塊use
)被調用?
參考文獻(如果有的話)也有幫助。
對於1:謝謝。我習慣於MATLAB類,它們允許您使用用戶定義的函數來初始化類變量。所以對於Fortran我想我會創建一個獨立的setter函數來調用來設置模塊變量的值。對於2:是的,考慮到Q1的答案,當這些變量初始化並且Q2現在沒有實際意義時,這並不重要。 – boxofchalk1 2014-12-05 17:25:09
只是爲了記錄,因爲這個問題是用fortran90標記的,所以我應該提到引用的材料也出現在Fortran 90標準中,並且gfortran(我使用的編譯器)完全符合標準。 – boxofchalk1 2014-12-05 17:32:12