fortran mod module function subroutine的区别 在Fortran编程语言中,mod、module、function和subroutine是四个不同的关键字,代表了不同的指令或语法结构。 1. mod:mod是一个运算符,用于计算两个数相除的余数。例如,表达式5 mod 2的结果为1,表示5除以2的余数是1。 2. module:module是一个关键字,用于定义一个...
不使用假定形状。而把数组大小传入subroutine。使用假定形状。并书写 interface 使用假定形状,但不书写 interface,而使用 module(避免interface)推荐使用 module module 是对 若干变量,subroutine 的封装。是一个很好的,很高级的语法特征。
并且module中定义过的变量在module里的!函数中可直接使用,函数之间也可以直接相互调用(包括主程序或其他包含module的子函数中),!连module中的自定义函数在被调用时也不用先声明。!!!moduleopModulereal(kind=4)::M_result contains subroutineprtHi()implicit none print*,'hello fortran, hello 2016.11.16 10:55...
Module中,contain后的函数和subroutine可以直接使用module中的变量而不必从新定义,有一种特殊情况是,module2中有x变量,其contain后的subroutine使用use association调用module1中的同名x变量,这个时候以use association 为准 Function 用如下代码声明函数 functionfun_name(input)result(output)returnend functionfun_name 多...
End Subroutine fun4 总结: 第一种将高维数组变形为1维数组,丢失了数组的维度信息,实参和形参元素的位置对应关系不确定。因此不建议使用。 第二种最常用,但需要传递额外的参数来指定数组大小。 第三种很灵活,能实现第二种的所有功能,而且减少了参数个数,但需要显式接口。推荐用这种方法,并封装与 module 中避免书...
证能够看77程序。以下是77和90的一些格式上的区别。Fortran 77:固定格式(fixed format),程序代码扩展名:.f或.for (1)若某行以C,c或*开头,则该行被当成注释; (2)每行前六个字符不能写程序代码,可空着,或者1~5字符以数字表明行代码(用作格
2、模块MODULE 采用模块MODULE方式共享数据时,如果在主程序、子程序等单元中调用了该模块,定义局部变量不能和模块中全局变量同名。 MODULEcommon_dataimplicit nonesaveinteger::areal::bRETURNEND MODULE 在调用全局变量时,使用USE语句进行调用。为了在特定程序单元中访问数据,应该把USE语句放置在PROGRAM、SUBROUTINE、FUNCT...
所以尽量用subroutine,最好是用module,接口什么都不用考虑。手动举例:program main implicit none real:...
BLOCK DATA模块独立执行并设置全局变量的初始值。2、模块MODULE: 采用模块MODULE方式共享数据时,主程序、子程序等单元在调用模块后,不能与模块中的全局变量同名定义局部变量。使用USE语句调用全局变量,并将其放置在PROGRAM、SUBROUTINE、FUNCTION语句后的首行,以确保在特定程序单元中访问数据。