我的代码中的一行将一个数组分配给一个未分配的数组。我认为这是一个错误,但令我惊讶的是它工作得很好。分配给未分配的变量
program test
implicit none
real, allocatable :: x(:,:)
real :: y(2,2)
y = 1.
x = y
print*, x
end program test
如何在内存方面工作的呢?这里的=
运营商只是同时分配和指定?为什么这是可能的,为什么编译器不抱怨?我正在使用gfortran 5.4.0。
的文件中寻找“realloc的”这可能是对同一事项的一个链接为重复的问题,而是以更清晰的方式问在我看来(也更容易找到)。所以即使它被标记为重复,我也会暂时离开它。 –
你当然想保留这个问题。重复并非天生就不好。在所涉及的一个方面确实更清楚。 – francescalus