typedef struct dList{ struct dList *flink; struct dList *blink; int val; } *dListe; dListe add(dListe entry, int val) { dListe elem; elem=malloc(sizeof(struct dList)); elem->val=val; if (entry==NULL){ elem->flink=NULL; elem->blink=NULL; } else { elem->flink=entry; elem->blink=NULL; entry->blink=elem; } entry=elem; return entry; } void print(dListe x) { dListe ptr; for (ptr= x; ptr!= NULL; ptr=ptr->flink) { printf("%d -> ", ptr->val); } printf("\n"); } main() { init(); dListe x; x=NULL; while(any){ x=add(x,any); } printf("Doubly linked list of a random length\n"); print(x); }