Zitat:
völlig falsch!! Du addest in die Liste die Adresse wo die Variable auf dem Stack liegt. Nach verlassen der Methode liegt die Methode dann aber nicht mehr auf dem Stack und somit zeigt dein Zeiger auf was ganz anderes.
Nicht gaaaanz richtig
Die Adresse die auf die Variable im Stack zeigt, zeigt weiterhin nach Verlassen der Funktion auf den Stack. ABER die Daten auf diesem Stack werden durch nachfolgendem Code permanent mit neuen Daten überschrieben. Das bedeutet das bei dem dereferenzierten Aufruf (und TypCast klar) man Daten auf dem Stack als Einsprungadresse in eine Methode interpretiert die irgendwo hin aber nicht dahin wo sie es sollte, zeigt. Der Programcounter der CPU springt also an irgendeine Addresse im Addressraum des Speichers.
Gruß Hagen