関連情報
ナビゲーション:Fortran 2003入門   前へ   上へ   次へ

3.5 MOVE_ALLOC組込みサブルーチン

MOVE_ALLOC組込みサブルーチンは割付けを一つの割付け変数から他の割付け変数へ移動します。 この機能は割付け配列を一回のコピー操作で拡張する際に使用でき、 新しい配列で値がどこに行くべきであるかの制御を可能にします。
例:
  REAL,ALLOCATABLE :: a(:),tmp(:)
  ...
  ALLOCATE(a(n))
  ...
  ! Here we want to double the size of A, without losing any of the values
  ! that are already stored in it.
  ALLOCATE(tmp(size(a)*2))
  tmp(1:size(a)) = a
  CALL move_alloc(from=tmp,to=a)
  ! TMP is now deallocated, and A has the new size and values.
値をどこか別の場所に格納するには代入文を変更してください。 例えばすべてを終端に移動するには次のように記述します:
  tmp(size(a)+1:size(a)*2) = a


Results matter. Trust NAG.
Privacy Policy | Trademarks