说我有一个声明为
的矩阵double precision, dimension(100,50) :: a
是
部分a(:,50:48:-1)
在记忆中是连续的吗?
答案 0 :(得分:4)
不,子引用a(:,50:48:-1)
不是连续的,尽管它占用了连续的存储空间。许多情况都需要创建一个临时数组。
real, dimension(100,50) :: a
call sub(a(:,50:48:-1))
contains
subroutine sub(b)
real :: b(:,:)
print *, is_contiguous(b)
end subroutine
end
和
> ifort contig.f90
> ./a.out
F