Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


チェーン・リストを処理するためのポインターの使用

レコード域のアドレスを受け渡す必要がある場合には、ポインター・データ項目を使用することができます。ポインター・データ項目とは、USAGE IS POINTER 文節を使用して定義されているデータ項目、または ADDRESS 特殊レジスターであるデータ項目のいずれかです。

ポインター・データ項目の代表的な適用は、チェーン・リスト (各レコードがそれぞれ次のレコードを指し示す一連のレコード) の処理です。

プログラム相互間のアドレスをチェーン・リストに入れて渡す場合は、NULL を使用して、次の 2 つの方法のいずれかで無効なアドレスの値 (非数値 0) をポインター項目に割り当てることができます。

最後のレコードのポインター・データ項目がヌル値を含んでいるチェーン・リストの場合、リストの終わりを検査するために次のコードを使用することができます。

IF PTR-NEXT-REC = NULL
. . .
 (logic for end of chain)

リストの終わりに達していない場合、プログラムはレコードを処理して次のレコードに移ることができます。

呼び出し側プログラムから渡されるデータには、無視したいヘッダー情報が含まれていることがあります。 ポインター・データ項目は数値ではないので、それらに対して直接に算術演算を行うことはできません。しかし、ヘッダー情報をバイパスするために、SET ステートメントを使用して、渡されたアドレスを増分することができます。

例: チェーン・リストを処理するためのポインターの使用

関連タスク
LINKAGE SECTION のコーディング
引数を受け渡すための PROCEDURE DIVISION のコーディング

関連参照
SET ステートメント (「COBOL for Windows 言語解説書」)


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)