ALLOCATE ステートメントでは、次元、長さ、またはサイズがアスタリスクで示されたときは、1 つ前の世代から継承されます。 配列の場合、アスタリスクは、配列の 1 つではなくすべての次元に使用しなければなりません。 以下に例を示します。
dcl X(M,N) char(A) ctl;
M=10;
N=20;
A=5;
allocate X;
allocate X(10,10);
allocate X(*,*);
X の最初の世代は (10,20) の境界を持ちます。2 番目と 3 番目の 世代は (10,10) の境界を持ちます。 X の各世代のエレメントは、すべて長さ 5 の文字ストリングです。
DECLARE ステートメントでもアスタリスク表記を使用することができますが、 その場合は、異なる意味を持ちます。 以下に例を示します。
dcl Y char(*) ctl, N fixed bin; N=20; allocate Y char(N); allocate Y;
文字ストリング Y の長さが ALLOCATE ステートメントで 指定されていない場合は、 直前の世代からそれを取ります。 その場合は、Y には指定された長さが与えられます。 そのため、ユーザーはストリングの長さの指定を、ストレージの実際の割り振りまで延期することができます。