/* ex9-395-2.c */ #include #include #include struct mess { char *message; struct mess *next; }; void * mystrdup(char const *str); main() { struct mess *cur = NULL; struct mess *all = NULL; int k = 1978; for ( ; ; ) { struct mess *new = malloc( sizeof(struct mess) ); new->message = mystrdup("Is this a inifinite loop? " ); new->next = NULL; if ( new->message == NULL ) return 0; if ( all == NULL ) all = new; cur = new; printf("Baby struct %d: ", k++); puts( cur->message ); cur = cur->next; if (k>1997) return 0; } } void * mystrdup(char const *str) { ... }