Fortran Coder

查看: 6401|回复: 3
打印 上一主题 下一主题

[指针] 如何将下列函数改写成fortran程序

[复制链接]

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2016-1-15 18:35:01 | 显示全部楼层
1. Fortran 和 C 语言的指针完全是两回事。你不能在fortran里混合使用他们。
2. loc函数是不标准的写法,只是部分编译器的扩展,不建议使用。
3. loc函数获得的,是内存地址。但fortran的指针远不止地址。所以绝对不能 => loc()
4. 你不能习惯性的把C语言的想法放在fortran里。C语言的指针就是地址,但fortran不是。
  fortran的指针,除了地址之外,还包括但不限于数组的大小,维度,每个维度的上下限,间距等。
5. C严格的说,不是高级语言,而是中级语言。或者是偏低级的高级语言。而 Fortran 是完全的高级语言。
  这里说的高级低级,是指更偏向计算机底层,还是更偏向于人类习惯。而不是指谁更牛。
6. C语言灵活。Fortran语言严谨。比如,fortran的指针包含了目标的概要描述,因此更安全,不容易指歪。
  相比而言,C语言的指针只是地址,很容易出现不可控。(当然,程序员良好的习惯可以避免)
7. Fortran 里,没有“指针数组”,只有“指向数组的指针”,也没有“指向指针的指针”。
8. 由于 Fortran 语言更严谨。所以,它很难容许不确定数据类型,不确定数组大小范围的情况。你必须确定以下内容:
  a. neighbor_addrs 指向的内容是什么类型?
  b. args->src_addr 指向的内容是什么类型?
  c. neighbor_addrs 这个指针数组有多大?
9. 如果你确定了这些问题,我可以尝试帮助你修改你的代码。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-14 15:22

Powered by Tencent X3.4

© 2013-2024 Tencent

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