title: I am not able to understand the recursion of functions. How it works? how the values are stored and all?
body: <p>I am not able to understand the recursion of functions. How it works? how the values are stored and all? </p>
  
  <pre><code>int tree_size(struct node* node) { 
    if (node==NULL) {
      return(0); 
    } else { 
      return(tree_size(node-&gt;left) + tree_size(node-&gt;right) + 1); 
    } 
  }
  </code></pre>