Fortran 2003 入門

ナビゲーション:前へ   上へ   次へ

8.18 VALUE属性

VALUE属性は引数が値で引き渡されることを指定します。

8.18.1 構文

VALUE属性はVALUE文で指定するか、もしくは型宣言文の中で VALUEキーワードを用いて指定します。

VALUE文の構文は次のとおりです:

VALUE [ :: ] name [ , name ] ...

VALUE属性はスカラ仮引数にのみ指定可能です。

VALUE仮引数を持つ手続きは明示的な引用仕様を持つものでなくてはなりません。

8.18.2 セマンティクス

VALUE属性を持つ仮引数は“値渡し”です。これは引数の局所コピーがルー チンに入る際に作られ、仮引数への変更は結合された実引数に影響を与えない、また逆 も真であることを意味します。

VALUE仮引数はINTENT(IN)は許されますが INTENT(INOUT)もしくはINTENT(OUT)は許されません。

8.18.3 用例

PROGRAM value_example
  INTEGER :: i = 3
  CALL s(i)
  PRINT *,i  ! This will print the value 3
CONTAINS
  SUBROUTINE s(j)
    INTEGER,VALUE :: j
    j = j + 1  ! This changes the local J without affecting the actual argument
    PRINT *,j  ! This will print the value 4
  END SUBROUTINE
END
この例は特に実用性を意図したものではなく、単に機能を紹介するためのものです。


ナビゲーション:前へ   上へ   次へ
関連情報
ご案内
© 譌・譛ャ繝九Η繝シ繝。繝ェ繧ォ繝ォ繧「繝ォ繧エ繝ェ繧コ繝�繧コ繧ー繝ォ繝シ繝玲�ェ蠑丈シ夂、セ 2025
Privacy Policy  /  Trademarks