struct list *thing = (struct list *) malloc (sizeof(struct list)); thing -> start = func2(5); thing -> end = func4(thing -> start); thing -> start -> next -> prev = func3(); thing -> start -> next -> next -> prev = func3(); thing -> end -> next = func1(7);