1

私はFortranの初心者です。以前に整数配列を定義する方法を教えてください。たとえば、12 か月の日数で配列を定義したいとします。お気に入り...

integer,allocatable(12,1) :: days

days=[31,28,31,30,31,30,31,31,30,31,30,31]

この構文は正しいですか? そうでない場合は、正しいものを教えてください。

ありがとうプラビーン

4

4 に答える 4

1

integer, dimension(12) :: a = (/ 31, 28, 31, 30, ... /)

「静的」配列の場合。Fortran 2003 以降では、[ ]代わりに(/ /)正しいです。私が知っているすべてのコンパイラは、F2003 を完全には実装していませんが、その構文を許可しています。動的配列の場合:

整数、次元(:) :: a
! ...
割り当て (a(12))
= (/ .... /)
! ...
割り当て解除(a)

もオプションです。

于 2010-05-31T19:15:10.250 に答える
0

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 /
于 2009-11-09T12:31:19.620 に答える
0

それは単なる定数配列であるため、おそらく割り当て可能である必要はありません。

INTEGER :: a(12) = (/ 31,28,31,30,31,30,31,31,30,31,30,31 /)
于 2009-12-11T23:47:04.743 に答える