近日欲进行c与fortran的混合编程,有一些基本操作遇到了困难。

以Fortran作为主程序调用C语言的子程序时,在C语言的子程序中将会产生一些今后还能用到的数据,想让这些数据在C子程序中以类似于全局变量的形式存在。

例如:fortran主程序为:

program main
   integer:: quanju
   integer :: mem
   integer :: x
   x=1
   mem = for2c(x)
   write(*,*) quanju
end program main

c的子程序为:
int quanju;
void for2c(x)
{
  quanju = x;
}

此时返回的quanju这一变量为一很大的整数。

请问,在这里如何理解C子程序里面的全局变量。谢谢您的关注!