Frage

Ich möchte ein Array verknüpfter Listen implementieren (um eine Hash-Tabelle zu implementieren).

Ich habe ganz am Anfang ein Problem...Ich habe eine Struktur verknüpfter Listen definiert und das Array verknüpfter Listen wie ein Array von Zeigern auf eine Liste initialisiert: liste * Oblist[65003]; (Muss ich es so initialisieren: liste * Oblist[65003] = {NULL};?)

Und ich möchte die Liste beim Index 12121 erhalten (der im Moment NULL ist), also habe ich es getan

liste L = *Oblist[12121] ;

Das Programm lässt sich ohne Fehler kompilieren, aber wenn ich es ausführe, erhalte ich eine Fehlermeldung Segmentation fault (core dumped)

Hier ist der gesamte Code:

typedef struct Doublet {char * car ; struct Doublet * cdr ;}* liste ;

liste * Oblist[65003];

int main(void){

    liste L = *Oblist[32123] ;

    return 0;
}

Vielen Dank im Voraus ;)

War es hilfreich?

Lösung

Du hast ein paar Probleme. liste wird als Zeiger auf a typisiert struct Doublet, so sollte es sein

liste Oblist[65003];

...

liste L = Oblist[32123];

Oder alternativ:

typedef struct Doublet { ... etc. } liste;

...

liste *Oblist[65003];

...

liste *list = Oblist[32123];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top