The ALLOCATE built-in function can be used to obtain storage for a based variable, and the PLIFREE built-in subroutine can be used to free such storage. The AUTOMATIC built-in function can also be used to obtain storage for a based variable, but such storage must not be explicitly freed. Storage allocated with the AUTOMATIC built-in function is automatically freed when the block in which it is allocated terminates.
The ADDR built-in function returns a pointer value that identifies the first byte of a variable. The ENTRYADDR built-in function returns a pointer value that is the address of the first executed instruction if the entry were to be invoked. The NULL and SYSNULL built-in functions return the PL/I null pointer and the system null pointer respectively.