C中的static修饰的镜头变量含义

来源:互联网 发布:淘宝卖家怎么发货的 编辑:程序博客网 时间:2024/06/11 20:18
1、在函数体内用static修饰的静态变量,当这个函数被调用后,静态变量的值保持不变,比如
  
  #include<stdio.h>
  
  int abc(int b)
  
  {
  
  static int a=10;
  
  a=a+b;
  
  printf(“a=%d\n”,a);
  
  return a;
  
  }
  
  int main()
  
  {
  
  int i=10;
  
  int j=30;
  
  int result=0;
  
  result=abc(i);
  
  result=abc(j);
  
  while(1);
  
  return 0;
  
  }
  
  结果:a=20
  
  a=50
  
  也就是说第一次调用函数后a的值变为20,第二次调用函数,a的值当做20来用,而不是10;
  
  2、在模块内(函数体外),只有该模块内的函数可以调用该静态变量
  
  3、用static修饰的静态函数,只能被该模块内的函数调用,不能被模块外的函数调用
原创粉丝点击