静态全局变量与静态局部变量的区别
- 全局变量使用static来修饰,不会改变变量的存储位置,但是会改变全局变量的作用域,仅在当前文件可用
- 局部变量使用static来修饰,会改变变量的存储位置,但不会改变局部变量的作用域。
普通全局变量与局部变量重名时
分别访问全局变量与局部变量的方法
#include <iostream>
using namespace std;
int a = 20;
int main(int argc, char *argv[])
{
int a = 10;
{
extern int a;
cout << a << endl; //输出为20,这里访问到的是全局变量
}
return 0;
}
静态全局变量与静态局部变量重名时
分别访问静态全局变量与静态局部变量的方法
#include <iostream>
using namespace std;
static int a = 20;
int main(int argc, char *argv[])
{
static int a = 10
cout << ::a << endl;//20
cout << a << endl; //10
return 0;
}
版权声明:本文为emile233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。