Fortran Coder

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

[指针] 如何理解Fortran指针的本质?

[复制链接]

13

帖子

4

主题

0

精华

入门

F 币
88 元
贡献
52 点
跳转到指定楼层
楼主
发表于 2021-6-20 18:21:20 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
一些资料中说Fortran指针是一种数据对象,它包含特定对象的更多信息,例如类型、维度、各维度元素数、内存地址等。这不同于其它大多数编程语言。
彭国伦书中说指针实际上记录内存地址,每种类型的指针在32位机上就是4字节,不论其指向什么数据类型。

到底哪种说法正确?还是说将指针理解成变量的别名更好?

因为我是初学,所以问题没办法聚焦。能得到各位的指点,谢谢!
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

13

帖子

4

主题

0

精华

入门

F 币
88 元
贡献
52 点
沙发
 楼主| 发表于 2021-6-21 10:24:52 | 显示全部楼层
fcode 发表于 2021-6-20 22:29
指向单变量的指针(无论其指向变量的数据类型,甚至派生类型),如彭国论说的一样。是记录的内存地址。
指 ...

谢谢大神!

13

帖子

4

主题

0

精华

入门

F 币
88 元
贡献
52 点
板凳
 楼主| 发表于 2021-6-21 10:50:04 | 显示全部楼层
fcode 发表于 2021-6-20 22:29
指向单变量的指针(无论其指向变量的数据类型,甚至派生类型),如彭国论说的一样。是记录的内存地址。
指 ...

您好,
确实如你所说,《modern fortran》p28中的介绍,“在数组的情况下,只声明秩(维数),边界(以及形状)是从它所指向的对象中选取的。给定这样的声明,编译器会为描述符安排存储空间,该描述符稍后将保存实际对象(称为目标)的地址,如果是数组,还保存其边界和步长。”
但同时,《modern fortran》将fortran指针解释为An object that can be made to refer to other objects in this way is called a pointer。其他一些资料也会使用引用、变量别名的说法。感觉上“别名”的说法能解释fortran指针的效果。
您觉得呢?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-4 06:29

Powered by Tencent X3.4

© 2013-2024 Tencent

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