COBOL2002 言語 拡張仕様編

[目次][索引][前へ][次へ]

15.4.3 アドレス型関数(アドレス操作機能)

アドレス型関数には,字類および項類の概念はない。

この関数値の属性は,アドレスデータ項目とする。

これらの規則に反した参照をした場合,重大エラーとし,この関数を参照する文を無視する。

<この項の構成>
(1) ADDR関数

(1) ADDR関数

形式
[図データ]

機能
ADDR関数は,引数1で指定したデータ項目のアドレスを返す。この関数の型はアドレス型である。

一般規則
  1. 引数について
    (a)引数1は,指標名,アドレス名を除く一意名でなければならない。ただし,関数一意名は指定できない。
    (b)引数1がブール項目のときは,バイト境界に調整しておかなければならない。
    (c)-UniObjGenオプションを指定した場合,引数1にUTF-8で多バイトとなる文字を含む英数字定数を指定してはならない。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。
  2. 関数値について
    (a)引数1が一意名のとき,関数値は,指定された引数1の占める記憶領域の先頭番地(アドレス)である。
    (b)引数1が英数字定数のとき,関数値は,指定された引数1の外部プログラムの先頭番地(アドレス)である。なお,32bit版 PC(x86) COBOL2002の場合は,呼び出し規約がCDECL属性の外部プログラムだけが対象となる。
  3. 関数値の表現形式
    アドレスデータ項目
  4. 関数の定義および関数の表現形式
    (a)関数の定義については,マニュアル「COBOL2002 言語 標準仕様編 11.5 関数の要約」,関数の表現形式については,マニュアル「COBOL2002 言語 標準仕様編 11.6 関数の表現形式」を参照のこと。