Einzelnen Beitrag anzeigen
Ungelesen 28.03.14, 17:27   #1
Tr3nDy
Eichhörnchenjäger
 
Benutzerbild von Tr3nDy
 
Registriert seit: Jan 2009
Beiträge: 285
Bedankt: 108
Tr3nDy ist noch neu hier! | 0 Respekt Punkte
Standard C++ Speicher Zugriffsverletzung

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.
__________________
Gruß Tr3nDy
Tr3nDy ist offline   Mit Zitat antworten