您的位置:首页 > 其它

Fortran 动态分配数组

2016-03-31 16:12 337 查看
program  main

integer  a(3,3)
integer ,allocatable :: arr_out(:,:)
data a /1,2,0,3,4,0,0,0,0/
integer src_size, desc_size

write(*,*) 'src_arr', a

src_size=3
desc_size=2

allocate(arr_out (desc_size, desc_size))
call resize_array(a,src_size, arr_out, desc_size)

write(*,*) "arr_out", arr_out

deallocate(arr_out)

end

subroutine resize_array(src_arr,src_size, desc_arr , desc_size)
integer  src_size,desc_size
integer  desc_arr(desc_size,desc_size)
integer  src_arr(src_size,src_size)

do i=1,desc_size
do j=1,desc_size
desc_arr (i,j) = src_arr(i,j)
end do
end do

end subroutine
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: