ポインターの定義

ポインターは、次の 2 とおりの方法で定義できます。

AS/400 システムでのポインターの長さは 16 バイトです。

ILE COBOL ポインター・データ項目は、システム・スペース・オブジェクトを指します。 ポインターの一部分には、どの AS/400 スペース・オブジェクトを指しているかなどの属性が記述されています。 ポインターの別の部分には、AS/400 システム・スペース・オブジェクトのオフセットが入れられます。

ILE COBOL プロシージャー・ポインター・データ項目は、AS/400 オープン・ポインターです。 オープン・ポインターには、別タイプの AS/400 ポインターとして使用される機能があります。 特に、ILE COBOL プロシージャー・ポインター・データ項目がプログラム・オブジェクトに設定されている場合は、 オープン・ポインターには AS/400 システム・ポインターが含まれます。 ILE COBOL プロシージャー・ポインター・データ項目が ILE プロシージャーに設定されている場合、 オープン・ポインターには AS/400 プロシージャー・ポインターが含まれます。

ポインターは、等価性の比較を行ったり、他のポインター項目の値を設定するために使用できる 16 バイトの基本項目です。

ポインター・データ項目は次のところでしか使用できません。

プロシージャー・ポインター・データ項目は、次のところでしか使用できません。

ポインターを関係条件で使用する場合、有効なのは等号演算子または非等号演算子だけです。

AS/400 システムにおいて、ポインター・データ項目は単なる 2 進数ではないので、ポインターを整数として処理することはできません。

ポインター・データ項目は、USAGE IS POINTER 文節を使用して明示的に定義され、ADDRESS OF 特殊レジスターまたは ADDRESS OF 項目を使用して暗黙のうちに定義されます。

グループ項目が USAGE IS POINTER 文節で記述されている場合、そのグループ項目内の基本項目はポインター・データ項目です。 そのグループ自体はポインター・データ項目ではなく、ポインター・データ項目を使用できる構文中では使用できません。 グループ項目が USAGE PROCEDURE-POINTER 文節で記述されている場合は、同じ規則が適用されます。 基本項目の USAGE 文節が、その項目が属するグループの USAGE 文節に矛盾するものであってはなりません。

ポインターは、MOVE ステートメントまたは入出力ステートメント中で参照されるグループの一部にすることができます。 しかし、ポインターがグループの一部である場合、そのステートメントの実行時にポインターの値から別の内部表記形式への変換は実行されません。

ILE C および他の言語を使用して、ポインターをテラスペース記憶域に宣言することができます。 ILE C は、このタイプのストレージをアドレッシングするために特殊なコンパイル時オプションが必要ですが、ILE COBOL では、V4R4M0 のターゲット・リリースまたはそれ以上でコンパイルすれば、このストレージを常にアドレッシングすることができます。 テラスペースのポインターについての詳細は、「ILE 概念」を参照してください。