使用雙冒號聲明變量時有區別嗎?使用雙冒號聲明變量時有區別嗎
real(8) :: a
real(8) b
這兩個顯然是做同樣的事情。這些除了風格之外還有什麼區別嗎?
我知道我們可以初始化變量,並添加屬性如下
real(8), intent(in), parameter :: a = 4, b = 2
,但除此之外,有沒有在剛宣佈一個普通的老real
或integer
沒有任何屬性,而不是初始化有什麼區別?
此外,這是否與SAVE
屬性有關?在我的一些代碼中出現意外行爲,並且在調用之間保存了一個函數的結果,這迫使我在每次調用該函數時都明確地將該變量設置爲零,即使SAVE
屬性不是由我設置的。
我不推薦直接使用'real(8)'。使用一個命名常量,並參見http://stackoverflow.com/questions/3170239/fortran-integer4-vs-integer4-vs-integerkind-4 –