Hallo,
ich bekomme beim benutzen eines Programms, welches ich unter Vistual Studio 2010 in c++ geschrieben habe eine Fehlermeldung bezüglich einer Zugriffsverletzung beim Schreiben. Nachdem was ich bisher herausgefunden habe, scheine ich irgendwas mit den Pointern falsch gemacht zu haben. Das ist mit sicherheit ein Anfängerfehler, aber ich finde ihn einfach nicht.
Es geht darum int Werte in einer linearen Liste zu speichern und verarbeiten. Hier der relevante Code:
Code:
...
struct storage{
int data;
struct storage *next;
};
struct storage *next = NULL;
struct storage *first = NULL;
...
void insert_func(int number){
struct storage *p;
if(first == NULL){
malloc(sizeof(struct storage));
first->data = number;
first->next = NULL;
}
else{
p = first;
while(p->next != NULL)
p = p->next;
malloc(sizeof(struct storage));
p = p->next;
p->data = number;
p->next = NULL;
}
showlist();
}
...
In der VS2010 Debug Konsole erhalte ich die Meldung: "Eine Ausnahme (erste Chance) bei 0x00f43573 in sortlist.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000.
Unbehandelte Ausnahme bei 0x00f43573 in sortlist.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0x00000000."
Position 0x00000000 kommt mir unrealistisch vor. Da ich jedoch Neuling auf dem Gebiet bin, weiß ich trozdem nicht was nun falsch ist. Ich bitte um Ratschläge.