参考:彭国伦:《Fortan 95程序设计》,2002年。第8章
COMMON是Fortran 77中使用“全局变量”的方法,它用来定义一块共享的内存空间。
语法:放在COMMON命令之后的变量都是全局变量。
integer :: a, b
common a, b
声明成COMMON的变量不能随便使用DATA命令(???)来设置它们的初值。
注意:
取用全局变量时,是根据它们声明时的相对位置关系来作对应,而不是使用变量名称来对应(!糟糕的设计!)
program global_variable
implicit none
! Variables
integer :: a = 10, b = 20, c
integer :: common_a = 888, common_b = 999
common common_a, common_b
! Body of Program
call common_f()
stop
end program global_variable
subroutine common_f ()
implicit none
integer :: a, b
common a,b
write(*, *) a, b
end subroutine common_f
输出结果为:
888 999
改进:可以把变量归类、放在彼此独立的COMMON区间中
语法:
common /group1/ a1, b1, c1, d1
common /group2/ a2, b2, c2, d2