函数里的盒子
约 8 分钟
每个函数都有自己的小房间,房间里定义的变量叫"局部变量",只在这个房间里管用,一出花括号(走出房间)就消失了。所以就算 A 函数和 B 函数里都有个叫 x 的盒子,它们也是两个不同房间里的东西,各用各的、互不干扰。
#include <iostream>
using namespace std;
void A(){ int x = 1; cout << x << endl; } // A 的 x
void B(){ int x = 9; cout << x << endl; } // B 的 x,是另一个
int main(){
A(); // 1
B(); // 9
return 0;
}
注意:A 里改了 x 不会影响 B 的 x,它们只是恰好重名。也正因为局部变量出了函数就没了,别指望在一个函数里访问另一个函数的局部变量。
小纸条
函数 A 里的变量 x 和函数 B 里的变量 x,是同一个盒子吗?
登录 后可看答案