Структура не может включать элементы того же типа, что и сама структура (рекурсивное определение). Однако, несколько элементов структуры могут быть указателями на такие же структуры. Подобные самоссылающиеся структуры обычно используются для создания динамических структур данных таких, как, например, связные списки или деревья.
Пример 1
/* Связанный список */
struct info {int         num;
             float       sum;
             struct info *next
             };
Рис. 1.  Связный список
Пример 2
/* Дерево */
struct node {int         key;
             char        description [50];
             struct node *left, *right;
            };
Рис. 2.  Дерево