关于局部变量和全局变量的一个有关问题

关于局部变量和全局变量的一个问题
本帖最后由 rockpk008 于 2015-09-22 01:45:21 编辑
大概的代码如下:

int a;
int main()
{
    :
   f2();
   :
   f1();
}
void f1()
{
     auto int b;
     :
    f2();
     :
}
void f2()
{
    :
    static int c;
      :
}


我的问题是auto int b 在f1中定义的这个变量是否对f1函数中 被调用函数f2();可见?在调用f2()时,f2()可否对f1的变量b进行调用?
------解决思路----------------------
b在f2中不可见。
函数是平等的,不是说调用谁谁就是下一级函数,就可以使用上一级的局部变量。
------解决思路----------------------
如果 b 是个传递到 f2() 中的参数,那就可见,如果没有传递到 f2() 中,那就不可见
------解决思路----------------------
不要把JS的思想代到C++中来了.

每个变量是有生命周期和作用域的.

auto int b; 这个是函数f1中的变量, 作用域限定在f1内,  f2中是不可见的.
同理, f1中也对f2中的c不可见