在 fortran 中,假设未分配数组.not.allocated
的状态是,并且如果使用save
属性声明可分配数组的状态在调用之间保留,是否安全?换句话说,除非输出格式差异很小,是否可以安全地假设以下程序将始终导致输出:
First time here
Been here before
测试程序:
program main
call sub()
call sub()
end program main
subroutine sub()
real,save,allocatable,dimension(:) :: a
if(.not. allocated(a))then
print*,"First time here"
allocate(a(10))
else
print*,"Been here before"
endif
end subroutine sub
我问主要是因为我知道你不能假设指针的默认关联是.not.associated