Twój kod to tylko mały fragment połączonej listy.
Pomysł jest taki, że twoja lista składa się z n wystąpień struktury, którą nazwałeś „Węzeł”. Potrzebujesz wskaźnika do PIERWSZEGO z nich, ten wskaźnik mówi ci lokalizację pamięci tej pierwszej struktury (zwykle żądasz miejsca na to ręcznie za pomocą malloc). Struktura tego bloku pamięci jest definiowana przez twoją strukturę „Węzeł”. Mówi ci, że najpierw jest kilka bajtów dla int (sizeof int mówi ci, jak mutch), a następnie jest kilka bajtów na adres (to jest twój wskaźnik „next”). Na ostatnim elemencie z połączonej listy zwykle używasz null jako wartości dla następnego, w ten sposób możesz sprawdzić, czy twój aktywny element jest ostatni. Aby dodać pozycję do listy, musisz malloc pamięć dla niej i zmienić następny wskaźnik ostatniej pozycji na miejsce w pamięci, które wydał malloc. (I nie zapomnij ustawić następnego wskaźnika właśnie utworzonego elementu na wartość null.)
W ten sposób działa połączona lista. Mam nadzieję, że to trochę pomoże!
Komentarze
To jest część definicji typu. To samo w sobie nie wskazuje na nic, z tego samego powodu, dla którego nie można umieścić prawdziwej kanapy i telewizora w salonie narysowanych na zestawie projektów domu. Po prostu określa „to jest to, co” powinno się tutaj znaleźć. „
Sposób, w jaki wskazuje na następny węzeł na połączonej liście, polega na tym, że kiedy ktoś faktycznie tworzy węzły, przypisuje wartość do pola opisane tą definicją, czyli wskaźnikiem zawierającym adres innego Node
.