使用双冒号声明变量时有区别吗?使用双冒号声明变量时有区别吗
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 –