暗黙的初期値指定

構造型成分定義中で初期値指定が行われていると,暗黙的初期値指定が行われます (これは Fortran 95 の機能です)。

成分の宣言された初期値は,定義が PRIVATE である場合にも適用されます。

暗黙的初期値指定は,INTENT(OUT) の仮引数に適用されます。構造型成分が SAVE 属性を持つということではありません。

型宣言文中の明示的初期値指定は,暗黙的初期値指定よりも優先されます。

配列成分の暗黙的初期値指定を行うには,以下のいずれかを含んでいる定数式を使用します。

ポインタの結合状態には,結合,空,および不定があります。暗黙的初期値指定がない場合,ポインタの状態は不定となります。ポインタ成分に対して空状態を宣言するには,=>NULL() を使用してください。

構造型のすべての成分に対して初期値を宣言する必要はありません。

	TYPE REPORT
	  CHARACTER (LEN=20) REPORT_NAME
	  INTEGER DAY
	  CHARACTER (LEN=3) MONTH
	  INTEGER :: YEAR = 1995	! 暗黙的初期値指定の成分のみ
	END TYPE REPORT

次の例を考えます。

	TYPE (REPORT), PARAMETER :: NOV_REPORT = REPORT ("Sales", 15, "NOV", 1996)

この場合,型宣言文中の明示的初期値指定は,NOV_REPORT の成分 YEAR よりも優先されます。

成分の基本初期値も,型定義に宣言されている暗黙的初期値指定によって無効にされます。

	TYPE MGR_REPORT
	  TYPE (REPORT) :: STATUS = NOV_REPORT
	  INTEGER NUM
	END TYPE MGR_REPORT

	TYPE (MGR_REPORT) STARTUP

この場合,STARTUP の成分 STATUSNOV_REPORT から初期値を受け取り,成分 YEAR の初期値は無効となります。