5

検討

INTEGER,DIMENSION(3) :: NumberVector

INTEGER              :: NumberVector(3)

これらの2つの宣言の間に何か違いはありますか、それともまったく同じですか?(つまり、考えられるあらゆるコンテキストとバリエーションで、たとえば、これら2つが同一である場合、サブルーチンの入力パラメーターの1つとして暗黙のサイズの配列を宣言するとどうなりますか?それでもどちらが無関係でしょうか?使った?)

4

2 に答える 2

8

はい、同じです。想定された、延期された、そして可能な限りの形であっても。

于 2012-05-21T20:52:57.583 に答える
3

このDIMENSION属性は、コードの明確さを向上させ、同じタイプの複数の配列を宣言するときにコードを節約できるようにするために、Fortran 90に追加されました(科学計算では珍しいことではありません)。

REAL :: mat1(10,20), mat2(10,20), mat3(10,20), mat4(10,20), mat5(10,20)

書くことができます

REAL, DIMENSION(10,20) :: mat1, mat2, mat3, mat4, mat5

これにより、ソースコードのサイズとコンパイル時間が短縮されるだけでなく(解析が少なくなり、現在はそれほど重要ではありません)、宣言のいずれかで間違いを犯す可能性が低くなります。それ以外の場合、両方の形式は等しく、宣言された変数はプログラム内のどこでもまったく同じように動作します。

于 2012-05-23T05:40:16.320 に答える