Hallo,
Zitat von
DELAC
Was genau stellen denn die beiden Pointer *nodeptr und *listptr dar?
nodeptr ist ein pointer auf Node (struct node),
nicht global hätte man diesen Pointer auch so erzeugen können:
Code:
// in main
Node *another_nodeptr = malloc(sizeof(Node));
Ein globaler pointer auf eine Node wird oft verwendet um Anfang und Ende der Listen
zu referenzieren (also nur ein Zeiger auf die Adresse).
Code:
typedef struct list {nodeptr first, last;} List, *listptr;
In der Typdefinition der Liste werden nur die Refernzen auf first und last node gespeichert.
Ähnl. ist es in diesem Beispiel, nur eben andere Schreibweise:
http://openbook.galileocomputing.de/...f7f69e396d6fd8
Der Vorteil in deinem Code ist aber, dass die struct als Typ mit typedef erzeugt wurde und man dadurch auf struct bei Verwendung verzichten kann.
Lesezeichen