Figure 4.1. An example of a record with associated fields
The fields are not necessarily constant in length.
To find the value of the attribute K4, we first find the address of the record R (which is actually the address of the start of the record) and read the data in the 4th field.
In the same picture I have also shown some fields labelled Pi.
They are addresses of other records, and are commonly called pointers.
Now we have extended the definition of a record to a set of attribute-value pairs and pointers.
Each pointer is usually associated with a particular attribute-value pair.
For example, (see Figure 4.2) pointers could be used to link all records for which the value x1 (of attribute K1) is a, similarly for x2 equal to b, etc.
Figure 4.2. A demonstration of the use of pointers to link records
To indicate that a record is the last record pointed to in a list of records we use the null pointer .
The pointer associated with attribute K in record R will be called a K-pointer.
An attribute (keyword) that is used in this way to organise a file is called a key.