| 数组是没有办法改变大小的。 
 间接的办法包括:
 
 1.用两个数组。
 Real :: a(3,4) , b(2,4)
 b(1,:) = a(1,:)
 b(2,:) = a(3,:)
 这样b就相当于a删除了一列
 
 2.用两个可分配数组。方法类同上面的。但可以实现缩减后还是 a
 
 3.用一个可分配数组,一个指针:
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode program www_fcode_cn
  Implicit None
  Integer , target :: a(3,4)
  Integer , pointer :: p(:,:)
  a(:,:) = reshape( (/1,2,3,4,5,6,7,8,9,10,11,12/) , (/3,4/) )
  p=>a
  write(*,99) p
  a(:,2:3) = a(:,3:4)
  p=>a(:,1:3)
  write(*,99) p
99 format(4(3i5,/))  
end program www_fcode_cn
 4.用串表,类似于指针,但更复杂一些。
 |