ted fred adam mary eva fig an example of recursive data structure the important role of the variant facility becomes clearit is the only means by which recursive data structure can be boundedand it is therefore an inevitable companion of every recursive definition the analogy between program and data structuring concepts is particularly pronounced in this case conditional (or selectivestatement must necessarily be part of every recursive procedure in order that execution of the procedure can terminate in practicedynamic structures involve references or pointers to its elementsand the concept of an alternative (to terminate the recursionis implied in the pointeras shown in the next paragraph pointers the characteristic property of recursive structures which clearly distinguishes them from the fundamental structures (arraysrecordssetsis their ability to vary in size henceit is impossible to assign fixed amount of storage to recursively defined structureand as consequence compiler cannot associate specific addresses to the components of such variables the technique most commonly used to master this problem involves dynamic allocation of storagei allocation of store to individual components at the time when they come into existence during program executioninstead of at translation time the compiler then allocates fixed amount of storage to hold the address of the dynamically allocated component instead of the component itself for instancethe pedigree illustrated in fig would be represented by individual -quite possibly noncontiguous -recordsone for each person these persons are then linked by their addresses assigned to the respective father and mother fields graphicallythis situation is best expressed by the use of arrows or pointers (fig