static和extern的区别

extern(外部)

1.对函数
     完整的定义一个外部函数(可以省略extern)
     完整的声明一个外部函数(可以省略extern)
2.对变量
     只能声明一个外部变量(不能省略extern
     在函数里面定义extern的变量表示应用程序中其他地方的变量(引用某个全局变量,并非定义)
 
static(内部)
1.对函数
     定义内部函数(不能省略static)
     声明内部函数(不能省略static)
2.对变量
     static修饰全局变量:
          1.)定义一个内部内部变量
      static修饰的局部变量的生命周期:
          1.)第一次使用这个变量的时候才会创建(不会重复创建)
          2.)程序退出的时候,才会销毁
     
原文地址:https://www.cnblogs.com/damiao/p/4393715.html