## CHAPTER 10 

## Pointer Types 

So far we have talked about type~; that provide for the declaration of statically allocated variables. A stafic variable is one that is declared in a program and subsequently denotl~d by its identifier. It is called static, because it exists (i.e., memory i~ allocated for it) during the entire execution of the block (program, procedure, or function) to which it is local. A variable may, on the other hand, be created and destroyed dynamically during the execution of a block (without any correlation to the static structure of the progran i). Such a variable is consequently called a dynamic variable or an identified variable. 

## to.A. Pointer Variables and Idt~ntified (Dynamic) Variables 

Identified (dynamic) variables do not occur in an explicit variable declaration and cannot be accessed directly by identifiers. Instead they are created and destroyed by using Ille predeclared procedures New and Dispose, and they are identified I,y pointer values (which might be implemented as nothing more than the storage addresses of the newly allocated variables). Pointer valUt ~ must be assigned to previously existing pointer variables having tl I? appropriate pointer type. 

