Gast
#750046
Hallo, mir stellt sich folgende Frage. Eine Funktion a ruft eine Fuunktion b auf. Funktion b hat eine temporäre Variable vx. Damit meine ich, dass die Variable vx in der Funktion b erzeugt und mit z.B. 7 beschrieben wird. Das bedeutet, dass die Variable vx eigentlich nur innerhalb der Funktion b Gültigkeit hat und nach dem Verlassen der Funktion b der Speicherplatz dieser Variablen vx eigentlich wieder zur Verfügung steht. Die Adresse dieser temoprären Variablen vx wird vor dem Verlassen der Funktion b mit return an die Aufrufende Funktion a zurückgegeben. So, nun hat die Funktion a die Adresse einer temp Variablen aus der Funktion b, die bereits beendet wurde. Angenommen nun finden in Funktion a speicherrelevante Operationen statt oder es kommt ein Interruptaufruf dazwischen und anschließend möchte ich -wieder in Funktion a- über einen Pointer auf vx zugreifen. Finde ich dort noch den Wert 7, oder kann es sein, dass dort durch die speicherrelevante Operationen in Funktion a oder in der ISR bereits etwas anderes drinnen steht. danke und Gruß