single
Grundkonzept und Struktur
Swipe um das Menü anzuzeigen
Eine verkettete Liste in C ist eine einfache dynamische Datenstruktur, die aus Elementen besteht, die als Knoten bezeichnet werden. Jeder Knoten enthält Daten (wie eine Variable oder ein Objekt) sowie einen Zeiger auf den nächsten Knoten in der Liste.
So sieht ein typischer Knoten in einer einfach verketteten Liste in C aus:
main.c
1234struct Node { int data; // data in node struct Node* next; // pointer to next node };
Wenn Sie anstelle eines Zeigers auf den nächsten Knoten einfach eine Instanz eines neuen Knotens erstellen, erhalten Sie einen Fehler.
Der Compiler kann für eine solche Struktur keinen Speicher reservieren, da sie sich selbst enthält. Das ist, als würde man versuchen, sich selbst mit den eigenen Augen von außen zu betrachten.
Die Verwendung eines Zeigers löst dieses Problem, da der Compiler weiß, wie viel Speicher für eine Zeigervariable reserviert werden muss.
Der Zeiger des letzten Knotens ist immer NULL.
Wischen, um mit dem Codieren zu beginnen
Erstellen einer Funktion createNode, die dynamisch Speicher für einen neuen Knoten einer verketteten Liste alloziert. Die Funktion soll das Feld data mit dem angegebenen Wert initialisieren und den Zeiger next auf NULL setzen.
Anschließend im main-Programm mehrere Knoten erstellen, diese miteinander verknüpfen und die verkettete Liste ausgeben.
- Innerhalb von
createNodeSpeicher für einen neuen Knoten mitmallocreservieren und in(struct Node*)casten. - Überprüfen, ob die Speicherreservierung fehlgeschlagen ist. Falls
newNodeNULList, eine Fehlermeldung ausgeben undNULLzurückgeben. - Das Feld
datades neuen Knotens mit dem Parametervalueinitialisieren. - Den Zeiger
nextdes neuen Knotens aufNULLsetzen. - Den Zeiger auf den neu erstellten Knoten zurückgeben.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen