static:修饰文件内部变量或者函数不能被外界访问
extern:修饰文件外部变量或者函数能被其他文件访问
默认情况下能被其他文件访问的
函数
内部函数(static)
1> 不同文件,相同方法名互不影响
2> 只能在函数内部使用
外部函数(extern)
1> 默认情况下所有函数都是外部函数
2> 不允许有相同的外部函数
extern
1> 定义一个完整外部函数
2> 声明一个完整外部函数
static
1> 定义一个内部函数
2> 声明一个内部函数
1、 内部函数:只能在文件内部调用
定义一个内部函数
static int test(){return 10;}
声明一个内部函数
static int test();
2、外部函数:其他文件都可调用
1>不允许定义相同名的函数
定义一个外部函数
extern int test2(){return 10;}
或者
int test2(){return 10;}
声明一个外部函数
extern int test2();
或者
int test2();变量
static int age;
全局变量
1. 内部变量(static)
1>不同文件中的同名变量互不影响
2. 外部变量(extern)
1>默认情况下所有的外部变量都是外部变量
2>同名外部变量都是一个变量
static:定义一个内部变量
extern:声明一个外部变量
1、 内部变量:只能在文件内部被访问
定义一个内部变量
static int age;
2、 外部变量:其他文件也能调用
声明一个内部变量
extern int height;
static对局部变量的作用
延长局部变量的生命周期
当程序结束的时候局部变量才会被销毁
使用场合
1> 如果某个函数调用的频率特别高
2> 这个函数内部某个变量是固定不变的