K
ich weiß jetzt nicht genau, was du meinst. aber ich versuche mal, es trotzdem zu erklären.
ein zeiger ist eine zahl, die eine speicheraddresse bezeichnet. eine zeigervariable ist ein speicherplatz von vier bytes, in den man einen zeiger ablegen kann. üblicherweise die startaddresse (addresse des ersten bytes) eines speicherbereiches. so ein speicherbereich wäre etwa der speicher deiner Link-struktur. wenn man nicht weiß, was für eine addresse man in eine zeigervariable eintragen soll, zb wenn man den speicherbereich, auf den die variable zeigen soll, noch nicht alloziert hat, dann wird per konvention eine null eingetragen. null bedeutet so viel wie "ich zeige im moment noch auf garnichts".
wenn du new Stack ausführst, dann gibt dir der befehl einen zeiger auf die neu erstellte Stack-struktur zurück. also eine zahl, die die addresse des ersten bytes des speicherbereichs, den new für dich alloziert hat, bezeichnet. in diesem speicherbereich befinden sich auch vier bytes für das feld head. da der new-befehl nicht weiß, was er da reinsetzen soll, hat er da einen null reingeschrieben. das head-feld der von new Stack gelieferten Stack-struktur zeigt also erst mal auf garnichts.
ich brech meine ausführungen jetzt ab, bevor ich hier noch endlos weiterlabere. vielleicht helfen dir ja meine "ausführungen", deine frage hier präziser zu stellen. weil das, was du geschrieben hast, kapiert nämlich kein mensch. du scheinst dich in irgendeinem parallelen c++-universum zu bewegen.
aber eins will ich noch sagen. als ich als jugendlicher auf einem zx81 das programmieren angefangen habe, hatte ich ein echtes problem damit, zu verstehen, was der befehl x=1 bedeuten sollte. ich war absolut unfähig, zu begreifen, warum x jetzt gleich eins sein sollte . so ein ähnliches problem scheinst du mit zeigervariablen zu haben.
so, jetzt ist aber endgültig schluß
EDIT
rechtschreibung korrigiert. soweit da überhaupt noch was zu retten ist