title: Recursion and Loop
body: <p>There is something, which I am not quite sure about it.</p>
  
  <p>Let's say we got a function called foo, which looks something like</p>
  
  <pre><code>void foo(Parameter a1) {
     if(condition == true)
         return;             // jumping out of recursion
  
     for(int i = 0; i &lt; array.length; i++) {
  
        if(contion == true)
            foo(a1);         // calls itself
  
        ...
     }
     ...
  }
  </code></pre>
  
  <p>What I'd like to know is, when the function foo() calls itself and say this happens a few times. Does the counter i always start at 0 or not? I mean everytime the function is called by the function itself.</p>
  
  <p>I would appreciate if someone could explain me that.</p>