fortran 定义全局变量
发布网友
发布时间:2022-04-22 16:51
我来回答
共2个回答
热心网友
时间:2023-10-22 06:37
mole主要有以下作用:
1)mole 可以声明变量,经常用来声明程序中所需要的常量、或是用来存放全局变量
2)mole里面可以定义自定义类型,在经过use的命令可以让程序中的每一个函数都能使用这个类型
3)mole里面可以编写函数,同样使用use命令。
至于你提出的问题,可以用以下程序来解释:
mole global
implicit none
integer a,b
common a,b
! read (*,*) a,b
end mole
program ex0834
use global
implicit none
read (*,*) a,b
write(*,*) a,b
end program
在mole里声明了全局变量a,b.在program里就可以省去定义a,b的部分,就可以直接使用a,b.
第二个问题,当把mole里的注释符“!”去除, 把program里的read(*,*) a,b 注释掉就能发现程序错误,所以我认为在mole里,不能通过read赋值。
参考资料:fortran95程序设计,彭国伦版 P205和P315
热心网友
时间:2023-10-22 06:38
mole变量是模块变量,只要你use这个mole就可以对它进行操作了。
用fortran编程,起步时尽量的不要拿C或是C++往里套,否则会越学越迷糊:)
当然,你也可以认为mole变量其实就是C/C++中,某个结构体里面的静态变量:)它的作用域是全局的,但需要你带上结构体(mole)的名字:)