Fortranにおいて、配列を動的に割り付ける方法を紹介します。実務でデータ処理を行ううえで、恐らく頻繁に使用すると思いますので参考にしてください。
宣言の仕方
配列を動的に割り付けるための宣言の仕方の基本は、次の通りです。
データ型 , allocatable :: 配列名( : )
データ型には、Integer、real、characterなどを宣言します。
配列の大きさのところに、コロン(:)を書きます。
コロン(:)の数については、
一次元配列の場合;(:)
二次元配列の場合;(:,:)
となります。二次元配列の場合はコロン(:)をカンマ(,)で区切り二つ入力します。
例えば、整数型の一次元配列を動的に割り付けるための宣言は
Integer , allocatable :: int(:)
となります。
配列の割り付け方
実際に配列の大きさを割り付けるには、プログラムの実行文中で次のように書きます。
例えば、先ほどの配列 int(:)の大きさを100として割り付けるには
allocate(int(100))
となります。
配列の大きさを割り付けるには、実行文中で
allocate(配列名(配列の大きさ))と書く。
割り付けの解除
最後に、配列の割り付けを解除するには、実行文中で
deallocate(配列名)
と書きます。
留意点
主プログラム中で動的割り付けで宣言した配列をサブルーチンに受け渡すときは、サブルーチン側でも動的割り付けで宣言した配列に受け渡す必要があります。
Fortranに関する記事のまとめはこちら
コメント