Problem mit verlinkter Liste bei Kartenspiel

Lord Kefir

Lord Kefir

König
Servus!

Ich habe mir vorgenommen, zur Übung ein kleines Kartenspiel für die Konsole zu proggen und habe da ein kleines Problem:

Die Karten des Spielers sollen in einer verlinkten Liste gespeichert werden. Diese ist folgend aufgebaut:

typedef enum {kreuz, pik, herz, karo} typ_farbe;
typedef enum {sieben, acht, neun, zehn, bube, dame,
koenig, as} typ_wert;


typedef struct str_kartenliste {
typ_farbe farbe;
typ_wert wert;
struct str_kartenliste *zgr_next;
} typ_kartenliste;



Das klappt ja auch noch alles wunderbar. Momentan programmiere ich eine Funktion, die eine Karte aus dem Stapel in die Liste einfügt. Der Funktionskopf sieht so aus:

void gib_karte (typ_stapel Kartenstapel, typ_kartenliste
*kopf_spieler)



Der Kartenstapel ist folgend definiert:

typedef struct str_kartenstapel {
typ_farbe farbe;
typ_wert wert;
bool gezogen;
} typ_stapel[32];



Wenn die Liste nun leer ist ('kopf_spieler' also den Wert NULL hat, was beim initialsieren geschieht), soll eine vorher aus dem Stapel ermittelte Karte übergeben werden:

if (kopf_spieler==NULL)
kopf_spieler->farbe=Kartenstapel[n].farbe;
[...]


Das vollständige Programm wird fehlerfrei und ohne Warnungen kompilert. Wenn allerdings das Programm an diese Stelle kommt, stürzt es ab und teilt mir folgendes mit: 'Segmentation fault'
Ich habe auch schon mehrere andere Operationen ausprobiert (z.B. kopf_spieler->farbe=kreuz). Leider ist das Resultat immer gleich...

Hab' wahrscheinlich irgendeinen dummen Fehler gemacht - wäre schön, wenn den jemand finden würde.

Mfg, Lord Kefir
 
Trotz aller Diskussion zum Thema Doppelposts, antworte ich mal direkt auf meinen Beitrag:

Der Thread kann geschlossen werden. Heute morgen, mit etwas klarerem Kopf, ist mir aufgefallen, dass ich ein riesiger Depp bin: ich habe nur vergessen, den benötigten Speicher zu reservieren... :O Schande über mein Haupt!
 
Zurück
Oben