在Fortran中无效指针

Kyl*_*nos 4 fortran pointers

我正在为Fortran代码添加一个模块,并遇到了以下问题.我有一个派生数据类型Info,其中包含几个其他变量,其中包括一个4D指针数组(它是一个水文代码,所以它是3个空间组件和1个可变组件).为了使我的子程序更容易阅读,我只需制作一个指针q并指向Info%q,如下所示:

    real,pointer::q(:,:,:,:)
    q=>Info%q
    ...
    some work on q
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是:我deallocate(q)以前应该使用nullify(q)吗?或者,因为q指向代码中其他地方必需的数组,我应该使用nullify吗?

谢谢你的帮助.

Vla*_*r F 6

只有无效!否则原始指针将是未定义的,数组将不再存在!