如果我有一个C函数
int foo(int input)
{
int x = 5;
if( input == 0 ){
int y = 6;
} else {
int z = 7;
}
}
我知道当我们进入函数时,栈指针会被调整,为int x
语句腾出空间。我也知道y
和z
仅存在于它们各自的块作用域中。但是它们的空间是何时以及如何分配的呢?