COBOL2002 言語 拡張仕様編


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

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

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

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

〈この項の構成〉

(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の外部プログラムの先頭番地(アドレス)である。なお,Windows(x86) COBOL2002の場合は,呼び出し規約がCDECL属性の外部プログラムだけが対象となる。

  3. 関数値の表現形式

    アドレスデータ項目

  4. 関数の定義および関数の表現形式

    (a)関数の定義については,マニュアル「COBOL2002 言語 標準仕様編」 「11.5 関数の要約」,関数の表現形式については,マニュアル「COBOL2002 言語 標準仕様編」 「11.6 関数の表現形式」を参照のこと。