Hallo,
irgendwie scheint meine einfach verkettete Liste nicht richtig zu funktionieren. Ich verliere immer alle Elemente bis auf das neu Eingefügte und kann mir nicht erklären warum. was habe ich falsch gemacht?
typedef struct Person {
char vorname[30];
char nachname[30];
struct Person *next;
} Person;
Person *kopf;
Person *aktuellePerson;
.
.
.
void nameHinzufuegen() {
Person *neuePerson;
char vn[30];
char nn[30];
printf("Vorname: ");
scanf("%s", vn);
printf("Nachname: ");
scanf("%s", nn);
strcpy(neuePerson->vorname, vn);
strcpy(neuePerson->nachname, nn);
if (kopf == NULL) {
kopf = neuePerson;
neuePerson->next = NULL;
}
else {
aktuellePerson = kopf;
while (aktuellePerson->next != NULL) {
aktuellePerson = aktuellePerson->next;
}
aktuellePerson->next = neuePerson;
neuePerson->next = NULL;
}
}
Markus.