How does the compiler know where control should return to after a function call?
<p>Consider the following functions:</p>

<pre><code>int main()
{
    //statement(s);
    func1();
    //statement(s);
}

void func1()
{
    //statement(s);
    func2();
    //statement(s);
}

void func2()
{
    //statement(s);
}
</code></pre>

<p>How does the compiler know where to return to after the <code>func2</code> has performed all its operations? I know the control transfers to function <code>func1</code> (and exactly which statement), but <em>how</em> does <em>the compiler</em> knows it? What tells the compiler where to return to?</p>
