C++中,全局变量的存储都是静态存储。但是链接性质可以有外部链接和内部链接。默认情况下是外部链接,如果在定义前加上 static ,则变为内部链接。
//file1.cpp
int val1 = 5;
extern int val2;
void fun1()
{
cout<<"fun1 :"<<endl;
cout<<"val1 :" <<val1<<" addr :"<<&val1<<endl;
cout<<"val2 :" <<val2<<" addr :"<<&val2<<endl;
}
//file2.cpp
int val2 = 10;
extern int val1;
void fun2()
{
cout<<"fun2 :"<<endl;
cout<<"val1 :" <<val1<<" addr :"<<&val1<<endl;
cout<<"val2