title: Return value of function
body: <p>Every function call is executed on the stack and this function is deallocated from the stack memory after the function exits.</p>
  
  <p>Suppose a variable "return_value" is declared as non-static(normal unsigned int) in a function foo().
  At the end of the function foo(), this value is returned as </p>
  
  <pre><code>return return_value
  </code></pre>
  
  <p>This value should have been deallocated from the stack memory.
  Therefore,how does the main function that is receiving this return value get the correct value returned by foo()?</p>