在fortran中索引用户定义的类型
简而言之,我可以在fortran(任何fortran标准)中执行类似的操作吗 是的,当然可以(在f90+中)在fortran中索引用户定义的类型,fortran,Fortran,简而言之,我可以在fortran(任何fortran标准)中执行类似的操作吗 是的,当然可以(在f90+中) 嗯,你为什么不试试呢?我问错了问题:)我看到答案后意识到了这一点。所以我接受了给出的答案。。 type(my_array), dimension(:,:), allocatable :: a type(my_array), dimension(5,5) :: b allocate(a(3, 3)) a = b(1:3, 1:3) $ cat foo.f90 program foo im
嗯,你为什么不试试呢?我问错了问题:)我看到答案后意识到了这一点。所以我接受了给出的答案。。
type(my_array), dimension(:,:), allocatable :: a
type(my_array), dimension(5,5) :: b
allocate(a(3, 3))
a = b(1:3, 1:3)
$ cat foo.f90
program foo
implicit none
type :: my_array
integer :: i
end type my_array
type(my_array), dimension(:,:), allocatable :: a
type(my_array), dimension(5,5) :: b
integer :: i, j
do i = 1, 5
do j = 1, 5
b(j,i)%i = 10*i + j
end do
end do
allocate(a(3, 3))
a = b(1:3, 1:3)
write(*,"(3i3)") a
end program foo
$ gfortran foo.f90 -o foo
$ ./foo
11 12 13
21 22 23
31 32 33
$