Element am Anfang einer einfach verketteten listen

R

Rene0387

Hi,
bin neu hier und hab ein kleines Problem bei dem ich nicht weiterkomm. Wir sollen im Rahmen einer Belegarbeit ein Programm schreiben welches an einer einfach verketteten Liste ein Element am Anfang,am Ende und sortiert einfügen kann, später dann auf bei doppelt verketteten. Ich bin nun soweit das meins am Ende anhängen kann. Nun scheitere ich daran etwas am Anfang an zu hängen.
Code:
void anhanganf(int alter,float gewicht, char name[],char nname[])
{
   struct person *ptr;
   ptr->next=first;
   first=ptr;
   strcpy(first->name,name);
   strcpy (first->nname,nname);
   first->gewicht= gewicht;
   first->alter = alter;
     

}
Wenn ich das Programm so ausführe erscheint folgendes.
show.php

Die Namen in Liste 2 und 3 wurde vorher schon in der Liste am Ende eingefügt der Name in der 1. wurde durch benutzer eingegeben. Würde ich noch ein weiteres mal einen Namen eingeben spielt das Programm total verrückt. :rolleyes:
Was mach ich verkehrt? Bin für jeden Tip dankbar. :)
 
Hi.

Du greifst dort auf einen nicht-initialisierten Zeiger (ptr) zu. Soetwas führt nicht selten zum Absturz...

Du müßtest erstmal eine neue "struct person" per malloc erzeugen...

Gruß
 
Code:
ptr=(struct person *)malloc(sizeof(struct person));
hab ich jetzt gemacht. Nun geht es. Da hab ich mich wieder dumm angestellt.:D
Vielen dank
 
Zurück