私はFortranの初心者です。以前に整数配列を定義する方法を教えてください。たとえば、12 か月の日数で配列を定義したいとします。お気に入り...
integer,allocatable(12,1) :: days
days=[31,28,31,30,31,30,31,31,30,31,30,31]
この構文は正しいですか? そうでない場合は、正しいものを教えてください。
ありがとうプラビーン
integer, dimension(12) :: a = (/ 31, 28, 31, 30, ... /)
「静的」配列の場合。Fortran 2003 以降では、[ ]
代わりに(/ /)
正しいです。私が知っているすべてのコンパイラは、F2003 を完全には実装していませんが、その構文を許可しています。動的配列の場合:
整数、次元(:) :: a ! ... 割り当て (a(12)) = (/ .... /) ! ... 割り当て解除(a)
もオプションです。
FORTRAN 77 では、
INTEGER DAYS(12) / 31,28,31,30,31,30,31,31,30,31,30,31 /
これは、宣言と初期化を 1 つにまとめたものです。
必要に応じて、2 つを分離することもできます。
INTEGER DAYS(12)
DATA DAYS / 31,28,31,30,31,30,31,31,30,31,30,31 /
それは単なる定数配列であるため、おそらく割り当て可能である必要はありません。
INTEGER :: a(12) = (/ 31,28,31,30,31,30,31,31,30,31,30,31 /)