FORTRANのひけつ 3

サブルーチンにおける引数の結合

関数引用やサブルーチンの引用で引数によってデータの結合をおこなうとき, 配列の記憶順序を意識したテクニックがよく使われます.たとえば,第 [here]章のプログラム KIHON2 では,何の説明も無しにつぎの ように使っています.

CALL SGPLV( NMAX+1, X, Y(0,1) )
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
CALL SGPLV( NMAX+1, X, Y(0,I) )
FORTRAN では,配列の結合は次のように定められています:

仮引数が配列名である場合の実引数は,実引数配列の記憶列のうちで仮引 数と結合される部分の先頭の記憶単位を指定する.

この例のように,実引数が配列要素名であれば,その配列要素の記憶単位から 配列の最後の記憶単位までの記憶列が仮引数と結合されます.

つまり,配列がサブルーチンに渡されるとき,メインプログラムの配列の中身 がサブルーチンの配列の中身にコピーされるのではなくて,メインプログラム の中の配列の番地だけが渡されて,サブルーチンの方はその番地を基準にして データ列の処理を行なうのです.

このようなことを意識してプログラムを書くと,少ない引数で柔軟な処理が可 能になります.詳細は,「岩波FORTRAN辞典」などをお読み下さい.



Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:11:18 EDT 1995