在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