代码:
1 0x601070 0x7ffcf44243fc 2 0x60106c 3 1 4 0x60106c 5 2 6 0x60106c 7 3 8 [[email protected] test]$ cat test.cpp 9 #include <iostream> 10 #include <string> 11 #include <cstdio> 12 13 using namespace std; 14 15 void func(){ 16 static int a = 1; 17 cout<<&a<<endl; 18 cout<<a<<endl; 19 a++; 20 } 21 22 int main(){ 23 static int a = 1; 24 int b = 1; 25 cout<<&a<<" "<<&b<<endl; 26 func(); 27 func(); 28 func(); 29 30 return 0; 31 }
输出:
0x601070 0x7ffcf44243fc
0x60106c
1
0x60106c
2
0x60106c
3
说明:
静态局部变量存储在全局区,全局变量、静态局部变量、静态全局变量都在静态存储区分配空间。