[Code] Stack-tiefe ermitteln

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von allstar, 29. Juni 2011 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #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 
    1 ;
    }

    function 
    main ()
    def 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

    [​IMG]


    wie kann ich denn jetzt aus dieser grafik rauslesen wie groß die stack-tiefe ist?



    mfg allstar
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #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
    
     
  4. #3 29. Juni 2011
    AW: Stack-tiefe ermitteln

    du musst mir ein bischen genauer erklären wie ich das jetzt verstehen soll


    mfg allstar
     
  5. #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.
     
  6. #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
     

  7. Videos zum Thema
Die Seite wird geladen...
Similar Threads - Code Stack tiefe
  1. Antworten:
    0
    Aufrufe:
    3.071
  2. Antworten:
    6
    Aufrufe:
    7.724
  3. Antworten:
    1
    Aufrufe:
    1.380
  4. Antworten:
    2
    Aufrufe:
    5.043
  5. Antworten:
    0
    Aufrufe:
    897