有关fortran的若干问题
怎样能够让变量被全局使用,比如我已经在main里面定义了INTEGERNX,NY,NZ,我的某个子程序里面也要用,我还有在子程序里面重新定义吗?重新定义之后数据会进行传输...
怎样能够让变量被全局使用,比如我已经在main里面定义了INTEGER NX,NY,NZ,我的某个子程序里面也要用,我还有在子程序里面重新定义吗?重新定义之后数据会进行传输吗,还是根本就是两个?
我定义了一个动态数组,我仍然想像上面的问题一样全局使用,请问我是不是在main里面定义完了再加上common就好?动态数组能够common吗?其他子程序要使用的话怎么用?也要在里面重新定义加上common?
common用法怎么样?是只写一次以后子程序直接用还是每个要用的子程序都写上common?
PS:跪求天河流纹石大侠留下联系方式啊,QQ电话邮箱都行,感激不尽啊!我都向您提问无数次了,实在是问题过多啊,希望您可以留下一个联系方式,我的QQ,794587401,谢谢! 展开
我定义了一个动态数组,我仍然想像上面的问题一样全局使用,请问我是不是在main里面定义完了再加上common就好?动态数组能够common吗?其他子程序要使用的话怎么用?也要在里面重新定义加上common?
common用法怎么样?是只写一次以后子程序直接用还是每个要用的子程序都写上common?
PS:跪求天河流纹石大侠留下联系方式啊,QQ电话邮箱都行,感激不尽啊!我都向您提问无数次了,实在是问题过多啊,希望您可以留下一个联系方式,我的QQ,794587401,谢谢! 展开
2个回答
展开全部
主程序里的变量,默认情况下,在其他函数或子程序里是不能使用的。
这一点,等你书写比较大的代码就会懂了。这样保证了代码的可移植性,独立性!
试想一下,如果可以直接使用,将会多么麻烦,使用任何一个子程序时,都要避免使用与他内部全部变量相同名称的变量。如果我使用了1000个子程序,每个子程序里10个变量,我至少要避免使用10000个变量名字。天哪。
按照生活中的例子来说,一个建筑公司为别人提供建筑服务,他自己有2000个员工。它不但要保证2000个员工不能有重名。而且要求他的甲方,也就是想要建筑服务的公司,也不能有员工叫这些名字。这是多么难缠??
如果你要把变量传递到子程序中。有三个方法:
使用虚参和实参对应。这是常规方法。
使用 COMMON,但是目前这个语法已经建议不要使用了。
使用 Module,对于大量的数据,我建议你选择这种方式。
回答你的几个问题:
子程序和主程序里,相同名称的变量,如果没有上述三种方式的传递,那么根本就是两个变量。
动态数组无法通过 COMMON 传递。但可以通过 Module
COMMON 建议不要使用了,改用 Module
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询