プロシージャー・ポインターは、プロシージャーまたは関数を指すために使 用されます。 プロシージャー・ポインターは、プログラムにバインドされた入り口点を指します。 プロシージャー・ポインターは、定義仕様書で定義されます。
プロシージャー・ポインター・フィールドは 16 バイトの長さでなければなら ず、16 バイト境界で位置合わせされていなければなりません。 境界位置合わせについてのこの要件によって、データ構造のポインター・サブフィ ールドが前のフィールドに直接続かない原因となったり、また、複数オカレンス・データ 構造で発生が連続しない原因となる可能性があります。 サブフィールドの位置合わせの詳細については、データ構造サブフィールドの位置合わせを参照して ください。
プロシージャー・ポインターのデフォルトの初期化値は *NULL です。
*.. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 DName+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++ * * 基本ポインター・フィールドを定義し、データ構造 My_Struct の * アドレスに初期化します。 * D My_Struct DS D My_array 10 DIM(50) D D Ptr1 S 16* INZ(%ADDR(My_Struct)) * * 同様に、長さが定義されない場合にはデフォルトの長さ 16 が使用されます。 * D Ptr1 S * INZ(%ADDR(My_Struct)) * * プロシージャー・ポインター・フィールドを定義し、NULL に初期化します。 * D Ptr1 S 16* PROCPTR INZ(*NULL) * * プロシージャー・ポインター・フィールドを定義し、 * プロシージャー My_Proc のアドレスに初期化します。 * D Ptr1 S 16* PROCPTR INZ(%PADDR(My_Proc)) * * 複数回繰返しデータ構造でのポインターを定義し、 * ストレージの計画を立てます。 * DDataS DS OCCURS(2) D ptr1 * D ptr2 * D Switch 1A
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.