Structures Pentru a permite ca mai multe tipuri de structuri să se refere unele la altele, putem declara un nume ca fiind numele unui tip de structură: Structuri înlănţuite #include #include<string> #include //#include using namespace std; struct List; struct Link { struct Link* pred; struct Link* succ; struct List* member_of; }; struct List { struct Link* head; }; void main() { struct List list1; //definim o lista care nu e pointer la List! struct Link *pc, *p; //definim doi pointeri de tip Link pc = new struct Link; //primul nod p = pc; list1.head = p; p->pred = list1.head; p->member_of = &list1; pc = new struct Link; //al doilea nod pc->member_of = &list1; p->succ = pc; pc->pred = p; p = pc; } Vezi desenul de pe pagina următoare
struct List list1
struct Link *head
struct Link* *pred
*succ
List* member_of
struct Link* *pred
*succ
List* member_of