黑马程序员技术交流社区

标题: static 和 extern 修饰局部变量 [打印本页]

作者: 1115302782    时间: 2015-7-5 22:32
标题: static 和 extern 修饰局部变量
static修饰的变量 只有你的包含那个变量定义的源代码文件可以访问(内部的变量)
      
          extern定义的变量的哪个源文件都可以访问 只要声明了就可以(外部变量)

    一.  static 对局部变量的作用
     
        1  延长了局部变量的生命周期,从程序启动到程序退出,但它并没有改变变量的作用域。
     
        2  static定义变量的语句只会执行一次。
   
        加static之前
      
          void add(){
        
               int a = 10;
        
                   a++;
        
              printf(“a++:%d\n”,a);
      
       }
     
          int main(int argc,const ch[]){
        
             add();        //0
        
             add();        //0
        
             add();        //0
      
            return 0;
     
           }
     
          加static之后
   
           void add(){
        
          int a = 10;
      
           a++;
        
           printf(“a++:%d\n”,a);
      
                }
     
            int main(int argc,const ch[]){
        
                   add();        //0
        
                   add();        //1
        
                   add();        //2
      
                   return 0;
      
                  }

  
             二. extern 是不能够修饰局部变量的,它用在函数内部声明一个全局变量



作者: pp584995727    时间: 2015-7-6 06:26
学习了,顶顶顶
作者: 赵云18235802528    时间: 2015-7-6 07:13
我是来看看的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2