Fortran Coder

查看: 19862|回复: 7
打印 上一主题 下一主题

[子程序] Fortran77子程序传递数组

[复制链接]

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
跳转到指定楼层
楼主
发表于 2017-11-10 16:28:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
老师让做个东西,读个77写的源代码,对数组这不太确定,大概如下:
ALLOCATABLE(A:)
ALLOCATE A(MSIZE)     MSIZE应该是分配给A的尺寸吧
DIMENSION A(*)
INTEGER A(*)
这时我取的A(2)代表什么啊?里头可以存几个数啊?
这里面对A的操作分别在几个不同的subroutine里。
谢谢大家!!!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
沙发
 楼主| 发表于 2017-11-10 16:55:20 | 只看该作者
有人吗
回复

使用道具 举报

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
板凳
发表于 2017-11-10 18:12:32 | 只看该作者
有 Allocatable 就不算是 77 的程序,至少是 90 的。

ALLOCATABLE A(:)   这是定义一个可以分配的数组 A
ALLOCATE A(MSIZE)  这是给可以分配的数组 A 分配大小,大小是 MSIZE
DIMENSION A(*)     这是不负责任的定义 A 是一个数组(仅针对虚参),大小我不知道,你们要操作这个数组的话,自己看着办
INTEGER A(*)       差不多同上,但它强调了 A 是整数类型

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
地板
 楼主| 发表于 2017-11-11 08:27:25 | 只看该作者
vvt 发表于 2017-11-10 18:12
有 Allocatable 就不算是 77 的程序,至少是 90 的。

ALLOCATABLE A(:)   这是定义一个可以分配的数组 A

谢谢您的回答,A还是一个一维数组吗?我看到程序往A(2)里写入了190个数,这点实在不懂啊

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
5#
发表于 2017-11-11 10:00:39 来自移动端 | 只看该作者
是一维的。看到有疑问的代码,请给出来。

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
6#
 楼主| 发表于 2017-11-11 11:12:35 | 只看该作者
vvt 发表于 2017-11-11 10:00
是一维的。看到有疑问的代码,请给出来。

我代码是在工作站上打开的,有设置也贴不出来,我尽量描述吧,就是定义完A后,有一个subroutine调用了A(2)然后读文件向数组里写数,子程序里读写这块命令为:
READ(NEN,1020) (RUNUSD,L=1,NL),
                            ((STORAG(IG,G2,L),L=1,NL),G2=IG2LO,IG2LO+NG2-2
其中,STORAG为数组A,然后NEN是要读取的文件的unit,其他类似NL,IG2LO的数都是之前赋值的一些常数。

35

帖子

6

主题

0

精华

熟手

F 币
151 元
贡献
94 点
7#
 楼主| 发表于 2017-11-11 11:14:28 | 只看该作者
vvt 发表于 2017-11-11 10:00
是一维的。看到有疑问的代码,请给出来。

还有1020是一个FORMAT(6E11.0)

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
8#
发表于 2017-11-11 19:38:52 | 只看该作者
你说得非常模糊。
1. 定义 STORAG 是如何定义的?
2. 有一个subroutine调用了A(2),这什么意思?听不懂
3. 如果有函数调用,那么属于数组传递的问题。需要给出虚参的定义和对应实参的定义。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-23 06:22

Powered by Tencent X3.4

© 2013-2024 Tencent

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