书上说,局部静态变量只能在函数内部可用
忽然想到,静态变量不是在堆栈上保存的
存在.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 = #//初始化指针 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 }
……我真是闲的蛋疼