A self-referential structure is a data structure that includes references to other data of its same type. A
simple example of this would be an implementation in C of
a linked list:
typedef struct listnode {
void *data;
struct listnode *next;
} list_t;
The reference to a listnode struct from within a listnode struct is the self-referential aspect of the structure.