Fortran - 指针
-
简述
在大多数编程语言中,指针变量存储对象的内存地址。但是,在 Fortran 中,指针是一种数据对象,它的功能不仅仅是存储内存地址。它包含有关特定对象的更多信息,例如类型、等级、范围和内存地址。指针通过分配或指针分配与目标相关联。 -
声明指针变量
使用指针属性声明指针变量。以下示例显示了指针变量的声明 -指针可以指向 --
动态分配的内存区域。
-
与指针类型相同的数据对象,具有target属性。
-
-
为指针分配空间
这allocate语句允许您为指针对象分配空间。例如 -编译并执行上述代码时,会产生以下结果 -您应该清空分配的存储空间deallocate不再需要时声明,避免积累未使用和不可用的内存空间。 -
目标和关联
目标是另一个正常变量,为它留出了空间。目标变量必须用target属性。使用关联运算符 (=>) 将指针变量与目标变量关联。让我们重写前面的例子,来演示这个概念 -编译并执行上述代码时,会产生以下结果 -指针可以是 -- 不明确的
- 联系
- 解除关联
在上面的程序中,我们有associated指针 p1 和目标 t1,使用 => 运算符。函数关联,测试指针的关联状态。这nullify语句将指针与目标解除关联。Nullify 不会清空目标,因为可能有多个指针指向同一个目标。但是,清空指针也意味着无效。示例 1
以下示例演示了这些概念 -编译并执行上述代码时,会产生以下结果 -请注意,每次运行代码时,内存地址都会不同。示例 2
编译并执行上述代码时,会产生以下结果 -