打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Fortran学习之intent

    (1)在fortran里面有个intent函数,网上稍微查询了一下,才知道

intent(in) 表示这个参数是输入的;

intent(out) 表示参数是输出的;

intent(inout)表示这个参数同时用于两个方向的数据传递;

哑实结合是在两个程序单元间传递数值的主要手段,主程序中实元2.0与过程中哑元X结合,就使X有值2.0,也即把主程序中2.0的值传递给子程序中的X,该值可供子程序运算。反之,如果子程序中的变量Y在子程序执行完后有值3.0,它与实元R结合后则使调用程序单元中的实元变量R得值3.0

F77中,不能确切地说明哑元的目的。它们到底是用于把数据传入到过程中的,还是用于把数据传出到调用它的程序单元中的,或是两者兼而有之的,这个概念是含糊的。在F90中,为了避免当过程内部变量值变化后返回到引用的程序单元时可能造成的混淆情况,在过程的变量类型的定义中,可以对哑元指定意图说明的INTENT属性。哑元按数据传输特性可分为输入输出两用、仅用于输入和仅用于输出。其一般形式为:

在类型定义语句中:类型,INTENT(意图说明符) :: 哑元名表

或用INTENT语句 :INTENT(意图说明符) :: 哑元名表

意图说明符为以下字符串:

IN 指明哑元仅用于向过程提供数据,过程的执行期间哑元不能被重定义或成为未定义的,相联合的实元可以是常数、变量、数组以及它们的算术表达式。

OUT 指明哑元用于把过程中的数据传回调用过程的程序,与之相结合的实元只允许是变量,不得为常数或算术表达式。

INOUT 指明哑元既可以用于向过程提供数据,也可用于向调用程序返回数据,与之相结合的实元只允许是变量。

INTENT属性不能在主程序说明语句中出现,只能在过程的哑元说明语句中使用。它是可选的,可省略。但现代特性的编程中应提倡使用INTENT属性,因为这样能增加可读性和可维护性,还能防止编程中的一些错误。因为一旦哑实结合,哑元和实元始终是同一个值,如果过程中给有属性INTENT(IN)的哑元重新赋值,也将改变调用程序单元中实元的值,而这是不应该的。这样,如在程序执行部分中误把有INTENT(IN)属性的哑元赋值时,操作系统就会提示。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Abaqus Fortran子程序的调试攻略(一)
Fortran95/2003高级技巧
Fortran 语法备忘录 (高级)
Fortran基本用法小结
每天五分钟:双线圈引起的争论-----程序结构化
[转]将ansys作为子程序调用 - 有限元与动力分析 - ansys初学者(ANSYS,...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服