#1 29. Juni 2011 Zuletzt von einem Moderator bearbeitet: 14. April 2017 Stack-tiefe ermitteln also es geht um folgenden quelltext PHP: function f ( v ) { println v ; return v + 1 ; } function main () def v ; { v = 1 ; f ( f ( f ( v ))); } die srache ist elli und ich soll ermitteln welche stack tiefe ich bei diesem quellcode bekomme. ich hab jedoch probleme zu erkenn was ein stack ist und was nicht. die definitionen im internet sind mir nicht hilfreich. ich bekomme folgenden stackverlauf für diesen quelltext wie kann ich denn jetzt aus dieser grafik rauslesen wie groß die stack-tiefe ist? mfg allstar + Multi-Zitat Zitieren
#2 29. Juni 2011 AW: Stack-tiefe ermitteln Code: enter function main() => stack = 1 enter function f(v) => stack = 2 finish function call => stack = 1 enter function f(v) => stack = 2 finish function call => stack = 1 enter function f(v) => stack = 2 finish function call => stack = 1 + Multi-Zitat Zitieren
#3 29. Juni 2011 AW: Stack-tiefe ermitteln du musst mir ein bischen genauer erklären wie ich das jetzt verstehen soll mfg allstar + Multi-Zitat Zitieren
#4 30. Juni 2011 AW: Stack-tiefe ermitteln Stapelspeicher – Wikipedia Der Stack ist ein Stapel. Oben auf diesen Stapel werden Funktionen gelegt, wenn sie aufgerufen werden. Es wird dabei immer die Funktion ausgeführt, die oben auf dem Stack liegt. Ist die Funktion fertig ausgeführt, wird sie wieder vom Stapel heruntergenommen. In dem Beispiel wird zuerst die main Funktion aufgerufen und auf den Stapel gelegt.(Stackgröße: 1). Dann wird main() ausgeführt und abgearbeitet. Dabei wir die Funktion f(v) aufgerufe, oben auf den Stack gelegt und ausgeführt (Stackgröße:2). Es erfolgt die Rückgabe von v+1=2 und f(v) wird vom Stapel genommen(Stackgröße:1). Dann wird f(2) aufgerufen, oben auf den Stack gelegt... usw. + Multi-Zitat Zitieren
#5 1. Juli 2011 AW: Stack-tiefe ermitteln alles klar, danke so wollte ich es erklärt haben und hab es auch verstanden. bw ist raus mfg allstar + Multi-Zitat Zitieren