1. 피제어 변수의 ALLOCATE statement
ALLOCATE statement는 피제어 변수(Controlled variable)에 대한 스토리지를 할당한다. Controlled 파라미터들도 할당될 수 있다. ALLOCATE statement에 피제어 변수의 배열의 bound, 문자열 길이를 기술할 수 있다.
배열의 bound와 문자열의 길이는 ALLOCATE statement가 실행되는 시점에서 evaluated된다.
-
ALLOCATE statement 나 DECLARE또는 DEFAULT statement에 필요한 크기 정보와 문자열 길이 정보가 기술되어 있어야 한다.
-
ALLOCATE statement에서 DIMENSION 속성이나 문자열 길이가 기술된다면, 변수 선언에 기술된 속성을 대신한다.
-
ALLOCATE statement에서 bound, 문자열 길이가 애스터리스크(*)로 기술되어 있다면, 현재 세대의 정보를 사용한다. 만약 현재 세대의 변수가 없다면 해당 정보는 undefined가 되고 프로그램은 에러가 된다.
-
ALLOCATE statement에서 기술된 DIMENSION 속성은 선언된 dimension의 차원 숫자에 맞게 기술되어야 한다. 즉, 1차원 배열이면 DIMENSION 속성이 1개 기술되어야 하고, 2차원 배열이면 2개, ..., n 차원 배열이면 n개의 DIMENSION 속성이 기술되어야 한다.
-
BIT, CHARACTE, GRAPHIC 속성은 반드시 DECLARE statement에 기술된 속성과 같아야 한다.
다음은 ALLOCATE statement를 사용한 예이다.
DCL X(M,N) CHAR(L) CTL; M = 10; N = 5; L = 100; ALLOCATE X(5,5) CHAR(200);