书上说,局部静态变量只能在函数内部可用

忽然想到,静态变量不是在堆栈上保存的

存在.data?节里

那么应该可以用指针调用

实验代码如下:

 1 #include <stdio.h>
 2 
 3 void my_try_static(void);
 4 
 5 int* p;
 6 int main(int argc, char **argv)
 7 {
 8     static int num = 80;
 9 
10     printf("num初值:\t%d\n",num);    //打印初值
11     
12     p = &num;//初始化指针
13 
14     my_try_static();                //外部引用
15     printf("外部引用之后的值:\t%d\n",num);
16 
17     return 0;
18 }
19 void my_try_static(void)
20 {
21     printf("%d\n",*p);
22     scanf("%d",p);
23     printf("%d\n",*p);
24 }

……我真是闲的蛋疼