函数调用和返回控制通常是通过栈来实现的。栈被用来存储函数调用的临时信息,如参数传递、返回地址、局部变量等。当函数被调用时,其参数和返回地址会被压入栈中,函数执行完毕后从栈中弹出,实现函数的返回和控制流程。因此,正确答案是C。