主题:关于fortran中子程序参数传递问题
大家好,我最近学习fortran中,有几个问题总不太明白,请教一下大家
1.fortran中给子程序传递参数是传的内存地址,也就是说,如果子程序在调用过程中改变了某个已有确定值的变量,这个变化将在调用程序中保存下来。但有时我们并不想这样,怎么办?是不是得在子程序中声明一个临时变量去接收这个传递的参数值代替参与子程序的运行,而不去改变传递进来的我们不想改变的内存? 觉得这样会导致过多变量,使代码可读性差。 不知道有没有什么其它办法? 另外,能不能这样,出于保险起见,对那些在子程序运行中不应该改动的传递参数,声明为常量,当然实型整型要对应上。这样如果由于失误改变了不该改变的程序应该不能运行。不知道实际编程中是不是这样做?
2.我最近要看一些程序代码,有70多个程序文件,有没有什么快速的办法定位它们之间的互相调用关系?已经看了一天了,简直累惨,还没摸出头脑。
烦请高手解惑,我对编程不是很在行,谢谢。
1.fortran中给子程序传递参数是传的内存地址,也就是说,如果子程序在调用过程中改变了某个已有确定值的变量,这个变化将在调用程序中保存下来。但有时我们并不想这样,怎么办?是不是得在子程序中声明一个临时变量去接收这个传递的参数值代替参与子程序的运行,而不去改变传递进来的我们不想改变的内存? 觉得这样会导致过多变量,使代码可读性差。 不知道有没有什么其它办法? 另外,能不能这样,出于保险起见,对那些在子程序运行中不应该改动的传递参数,声明为常量,当然实型整型要对应上。这样如果由于失误改变了不该改变的程序应该不能运行。不知道实际编程中是不是这样做?
2.我最近要看一些程序代码,有70多个程序文件,有没有什么快速的办法定位它们之间的互相调用关系?已经看了一天了,简直累惨,还没摸出头脑。
烦请高手解惑,我对编程不是很在行,谢谢。