FORTRANのひけつ 3
サブルーチンにおける引数の結合関数引用やサブルーチンの引用で引数によってデータの結合をおこなうとき, 配列の記憶順序を意識したテクニックがよく使われます.たとえば,第 [here]章のプログラム KIHON2 では,何の説明も無しにつぎの ように使っています.
CALL SGPLV( NMAX+1, X, Y(0,1) )FORTRAN では,配列の結合は次のように定められています:
・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
CALL SGPLV( NMAX+1, X, Y(0,I) )
仮引数が配列名である場合の実引数は,実引数配列の記憶列のうちで仮引 数と結合される部分の先頭の記憶単位を指定する.この例のように,実引数が配列要素名であれば,その配列要素の記憶単位から 配列の最後の記憶単位までの記憶列が仮引数と結合されます.
つまり,配列がサブルーチンに渡されるとき,メインプログラムの配列の中身 がサブルーチンの配列の中身にコピーされるのではなくて,メインプログラム の中の配列の番地だけが渡されて,サブルーチンの方はその番地を基準にして データ列の処理を行なうのです.
このようなことを意識してプログラムを書くと,少ない引数で柔軟な処理が可 能になります.詳細は,「岩波FORTRAN辞典」などをお読み下さい.
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:11:18 EDT 1995