Hey Leute, habe angefangen C zu lernen und bin jetzt grad dabei eine eigene Liste zu erstellen und habe jetzt mein erstes Problem:
In meine Liste schreiben funktioniert anscheinend aber wenn ich sie ausgeben will kriege ich ein 'Segmentaation fault'
list.c
list.h
main.c
kp woran es liegt. Lerne es mit dem Buch Programmieren für einsteiger Markus Neumann .
hab das Beispiel 3 x durchgeguckt aber habe keinen Fehler gefunden.
lg
n4se
In meine Liste schreiben funktioniert anscheinend aber wenn ich sie ausgeben will kriege ich ein 'Segmentaation fault'
list.c
Code:
struct knoten *neuerKnoten; neuerKnoten=malloc(sizeof(struct knoten)); neuerKnoten->wert=wert; neuerKnoten->naechstesElement = NULL; if(*liste == NULL){ *liste = neuerKnoten; } else{ struct knoten *element=*liste; while(element -> naechstesElement != NULL){ element =element -> naechstesElement; } element ->naechstesElement=neuerKnoten; } } void ausgeben (struct knoten *liste){ while(liste =! NULL){ printf("%i\n", liste->wert); liste=liste->naechstesElement; } }
Code:
#ifndef LIST_H_INCLUDED #define LIST_H_INCLUDED struct knoten{ int wert; struct knoten *naechstesElement; } void hinzufuegen(struct knoten **liste,int wert); void ausgeben(struct knoten *liste); ;
Code:
#include "list.h" #include<stdio.h> #include<stdlib.h> int main(){ struct knoten *meineListe=NULL; hinzufuegen(&meineListe,4); hinzufuegen(&meineListe,24); hinzufuegen(&meineListe,7); hinzufuegen(&meineListe,17); ausgeben(meineListe); return 0; }
hab das Beispiel 3 x durchgeguckt aber habe keinen Fehler gefunden.
lg
n4se
Comment