Fortran Coder

查看: 7579|回复: 5
打印 上一主题 下一主题

[指针] 变数组问题

[复制链接]

28

帖子

5

主题

0

精华

熟手

F 币
231 元
贡献
127 点
跳转到指定楼层
楼主
发表于 2016-10-14 16:23:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我需要向一个数组data(n)中添加数据,n是迭代步数,一开始不确定。当迭代结束后以(自然数-data(n))画曲线,我该怎么定义数组?

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

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

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

QQ
沙发
发表于 2016-10-14 16:27:12 | 只看该作者
用链表。

[Fortran] 纯文本查看 复制代码
Program www_fcode_cn 
  Implicit None
  Integer :: iCount , i
  Real :: rRead
  Type :: stPLink
    Real :: rValue
    Type(stPLink) , Pointer :: pNext
  End Type stPLink
  Type( stPLink ) , Target :: stLocal
  Type( stPLink ) , Pointer :: pLocal
  pLocal => stLocal
  iCount = 0
  rRead = 1.0
  write(*,*) '请输入一些数,输入0结束:'
  Do
    Read(*,*) rRead
    If ( rRead < 0.0001 ) then
      Exit
    End If
    pLocal%rValue = rRead
    Allocate( pLocal%pNext ) 
    pLocal => pLocal%pNext
    iCount = iCount + 1
  End Do
  pLocal => stLocal
  Do i = 1 , iCount
    Write(*,*) pLocal%rValue
    pLocal => pLocal%pNext
  End Do
End Program www_fcode_cn

28

帖子

5

主题

0

精华

熟手

F 币
231 元
贡献
127 点
板凳
 楼主| 发表于 2016-10-17 22:11:13 | 只看该作者
vvt 发表于 2016-10-14 16:27
用链表。

[mw_shl_code=fortran,true]Program www_fcode_cn

我正想问群里有没有指针教程,然后就看见要出的下一个视频就是关于指针的

28

帖子

5

主题

0

精华

熟手

F 币
231 元
贡献
127 点
地板
 楼主| 发表于 2016-10-20 15:24:27 | 只看该作者
本帖最后由 huiselilun 于 2016-10-20 15:28 编辑

[Fortran] 纯文本查看 复制代码
Type :: stPLink
      Double Precision :: Value
      Type(stPLink) , Pointer :: pNext
End Type stPLink
.
.
.
Type( stPLink ) , Pointer :: pwor(:)
.
.
.
Allocate(pwor%pNext, stat=err)


如果我的链表里的数据值是个数组怎么办?上面是我的定义,分配内存的时候提示pNext错误:

error #6563: A component with POINTER attribute may NOT be to the right of an array component (6.1.2).   [PNEXT]


490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

5#
发表于 2016-10-20 19:29:57 | 只看该作者
考虑混合的编程的话
C可以参考
http://troydhanson.github.io/uthash/utlist.html
http://troydhanson.github.io/uthash/utarray.html
C++直接上vector
考虑写入外存的话
直接按照一定的规则写成文本或二进制文件,用得顺手就行

28

帖子

5

主题

0

精华

熟手

F 币
231 元
贡献
127 点
6#
 楼主| 发表于 2016-11-4 09:46:41 | 只看该作者
pasuka 发表于 2016-10-20 19:29
考虑混合的编程的话
C可以参考
http://troydhanson.github.io/uthash/utlist.html

已经用fortran链表完美解决了,谢谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-26 08:51

Powered by Tencent X3.4

© 2013-2024 Tencent

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