A rzeczywiście, super - dzięki wielkie ;)
Mam jeszcze jedno pytanie. Żeby funkcja insert działała muszę jej przekazać wskaźnik do wskaźnika do struktury. Dlaczego nie działa wersja z samym wskaźnikiem do struktury?
struct human *insert(struct human **p, int age, char *name, char *surname) {
struct human *ptr = (struct human*)malloc(sizeof(struct human));
ptr->name = (char *)malloc(sizeof(char)*(strlen(name)+1));
ptr->surname = (char *)malloc(sizeof(char)*(strlen(surname)+1));
strcpy(ptr->name, name);
strcpy(ptr->surname, surname);
ptr->age = age;
ptr->next = *p;
*p = ptr;
return *p;
}
struct human *insert(struct human *p, int age, char *name, char *surname) {
struct human *ptr = (struct human*)malloc(sizeof(struct human));
ptr->name = (char *)malloc(sizeof(char)*(strlen(name)+1));
ptr->surname = (char *)malloc(sizeof(char)*(strlen(surname)+1));
strcpy(ptr->name, name);
strcpy(ptr->surname, surname);
ptr->age = age;
ptr->next = p;
p = ptr;
return p;
}