Vielleicht noch ein Tip:
Das ist C! Hier gibt es keine Konstruktoren, keine Destruktoren. Wenn Du Dir klassenorientierte Programmierung (das ist keine Voraussetzung für OOP, auch wenn Du es im Studium wahrscheinlich so lernen wirst), ansiehst so wirst Du feststellen, dass eigentlich nur ein Paraeter an eine andere Stelle gerückt ist. Statt void AddressInstance.DoAnything( a, b, c ), wo Du zusätzlich AdressInstance als 'this' übergeben bekommst, kannst Du in C problemlos ebenso klassenorientiert programmieren:
DoAnything( AdressInstance, a, b, c );
Anders sieht das in Wirklichkeit übrigens auch nicht aus.
Also lass Dich nicht davon abhalten, Dir Konstruktoren und Destructoren zu schreiben:
Code: Alles auswählen
struct Address * temp = NewAddress( myparamter );
...
DeleteAdress( temp );
Wenn Du also eine Node entfernst und darin ein konstruiertes Objekt hast, so muss Du dieses Objekt auch erst wieder destrukturieren.
Konstruktoren und Destruktoren kommen ab C++.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.