INTENT属性
copyright

green dotINTENT属性

サブルーチン副プログラムに渡す引数の特性(入力,出力,入出力)を宣言文に 授受特性INTENT属性を指定する。授受特性には、入力はIN,出力はOUT, 入出力する場合はINOUTを指定する。INTENT属性は、仮引数にだけに指定できる。
授受特性がINの変数をサブルーチン内で変更する記述があった場合、 コンパイル時にエラーとなる。授受特性を指定しないとこのチェックが 行われないので重大なまちがいが発生する可能性がある。

  宣言文,INTENT(IN) :: 変数名,…
  宣言文,INTENT(OUT) :: 変数名,…
  宣言文,INTENT(INOUT) :: 変数名,…

[例]
次のプログラムはコンパイルエラーになる

  PROGRAM main                    !主プログラム
     INTEGER :: a,b,c
     EXTERNAL sub                 !外部サブルーチンの定義
     CALL sub(a,b,c)
  END PROGRAM main
  SUBROUTINE sub(x,y,z)           !外部サブルーチン
     INTEGER,INTENT(IN)    :: x   !授受特性(入力)
     INTEGER,INTENT(OUT)   :: y   !授受特性(出力)
     INTEGER,INTENT(INOUT) :: z   !授受特性(入出力)
     x=10                         !コンパイルエラー
     z=20
  END SUBROUTINE sub
line-end