Fortran Coder

查看: 14462|回复: 4
打印 上一主题 下一主题

[子程序] FORTRAN77数组声明语法问题?

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
47 元
贡献
27 点
跳转到指定楼层
楼主
发表于 2017-9-26 11:41:57 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
最近在看一套以前FORTRAN77写的程序,请问下下面子程序中声明的数组中(*)是什么意思,程序大致框架示意如下,程序中省略号指代其他未显示的代码参量或语句:
[Fortran] 纯文本查看 复制代码
program abc

REAL headw(maxwav),sinb(maxwav) !maxwav从其他文件读入,这里不做特殊声明


call hdy(headw,sinb,..........)
..............


end program abc


subroutine hdy(headw,sinb,..........)
REAL headw(*),sinb(*) !这里怎么成了*号?
..........


end 
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

6

帖子

2

主题

0

精华

入门

F 币
47 元
贡献
27 点
沙发
 楼主| 发表于 2017-9-26 11:58:22 | 显示全部楼层
fcode 发表于 2017-9-26 11:48
这种叫做“假定大小”,是非常不推荐使用的一种虚参数组定义方式。

它的潜台词是,headw 和 sinb 两个是数 ...

谢谢,明白了,最近一直在用FORTRAN90的语法在改以前77的一些老代码,老的语法确实从规避错误的规范上有很多不足。

6

帖子

2

主题

0

精华

入门

F 币
47 元
贡献
27 点
板凳
 楼主| 发表于 2017-9-26 12:01:00 | 显示全部楼层
fcode 发表于 2017-9-26 11:48
这种叫做“假定大小”,是非常不推荐使用的一种虚参数组定义方式。

它的潜台词是,headw 和 sinb 两个是数 ...

可不可以把数据封装进module,在子程序中使用module模块,这样可以避免子程序再重复定义,也可以解决这个不规范的操作
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-5 20:22

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表