关键字extern和static都能修饰函数和变量;
extern
修饰函数:
extern可完整的声明函数以及定义函数,但是默认省略,意思是外部外部函数,均为全局变量
修饰变量
extern不可定义变量。切记
如果声明和定义都采用extern修饰 如: extern int a;则程序中就不存在“a”的定义。
static
修饰函数
必须的完整带static 声明和定义函数。
修饰变量
修饰的是局部变量,意味着局部的变量的作用域不变,但生命周期直至程序结束。
修饰的是全局变量,意味着全局变量尽在本文件中可调用。
全局变量定义而没有赋初值的话,默认为0;不论是外部还是局部的全局变量。
静态的局部变量默认为0,动态的局部变量的值不定。
static 声明和定义函数 ,不可省略。