この例のチェーン・リストはセットアップ済みなので、最後のレコードには無効なアドレスが入っています。 そのためには、最後のレコード中のポインター・データ項目に値 NULL を代入します。
ポインター・データ項目に値 NULL を代入する方法として、次の 3 とおりの方法があります。
チェーン・リスト中の最後のレコードのポインターにヌル値が入っている場合、 そのリストの終わりを検査するためのコードは次のようになります。
IF PTR-NEXT-REC = NULL
·
·
·
(logic for end of chain)
リストの終わりに達していない場合は、レコードを処理して次のレコードに移動します。
プログラム CHAINLST では、次のような「DO WHILE」構造を使用して、 チェーン・リストの終わりに関するテストを行っています。
PERFORM WITH TEST BEFORE UNTIL ADDRESS OF SALARY-REC = NULL IF DEPT = DEPT-X THEN ADD SALARY TO DEPT-TOTAL ELSE CONTINUE END-IF SET ADDRESS OF SALARY-REC TO PTR-NEXT-REC END-PERFORM
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.