◄Data Types Description► ◄Contents► ◄Index► ◄Back► Description After a reference type is declared, the compiler associates a variable of its type with a pointer. A pointer is a four-byte value that represents a memory address. The first two bytes store the offset, and the second two bytes store the base. The address points to (or references) a memory location that can contain a value of the variable's declared type. There are two kinds of reference types: pointer types and procedure types. The main difference between them is the manner in which the two are dereferenced──that is, how a value is assigned to or obtained from a variable of the reference type. Reference Type How to Dereference the Reference Type ══════════════ ═══════════════════════════════════════════ Pointer Append a caret (^) to a variable of the pointer type. For example, pointer_variable^ Procedure Use the name of a variable of the procedure type. A caret is not required. For example, procedure_variable QuickPascal provides the following two reference types: ══════════ Pointer Procedure Choose either reference type for help.