Fortran90前記事(配列(1)-基本操作)では、プログラムの最初に配列の上限と下限を宣言しました。プログラムの途中で、配列の上限と下限を決めたい場合は、動的割付けという手続きを行います。この記事ではこの動的割付けの手続きについて説明します。記事の最後にサンプルプログラムを掲載しています。スポンサーリンク動的割付けの手続き動的割付けを行いたい配列は、以下のようにallocatable属性を指定して宣言します。配列1と配列2は配列名です。動的割付けは以下のようにallocate文を用いて行います。2次元配列プログラム終了時にメモリの解放は自動的に行われますが、明示的に解放する場合は、以下のようにdeallocate文を用います。副プログラム内で以下のように配列を宣言した場合、この配列は副プログラム開始時に自動的にメモリに割付けられ、終了時も自動的に解放されます。このような配列を自動配列といいます。x(1:n)自動配列はスタック領域を利用する場合があり、その場合は、動的割付け配列よりも割付けが高速になります。スタック領域にはサイズ制限があり、OSやコンパイラなどの環境によってサイズが異なります。環境変数を設定することで、スタック領域のサイズは変更が可能ですが、環境依存性が小さいプログラムを作成したい場合は、副プログラム内の配列は自動配列ではなく、動的割付け配列を利用することが推奨されます。サンプルプログラムサンプルプログラムを下記します。2-9行目はメインルーチン、12-23行目は自動配列を使用するサブルーチン、26-28行目は動的割付け配列を使用するサブルーチンです。内容は1~nまでの数値の二乗の計算を行って、結果をx(i)に格納し、これを出力するというものです。以下のFortranプログラムをコピペし、****.f90の名前で保存して下さい(****の部分は適当でいいです)。コピペが面倒な場合は、こちらからダウンロードして下さい(右クリックメニューから保存)。sample11_alloc使い方は、前記事と同様に、****.f90を以下の****.batにドラッグ&ドロップするだけです。comp_exe_32.batこんな画面が出たでしょうか?出ていれば正常終了です。5-6行目の配列サイズを変えて、色々試してみて下さい。コメントをキャンセルメールアドレスが公開されることはありません。インド株、タイ株、ロシア株など。自作プログラムを用いて日本株のシステムトレードを実践しています。