/* Illegal recursive data structure */ struct list { int data; struct list next; }; /* Legal self-referential data structure */ struct list { int data; struct list *next; };