c/c++中static和extern使用
在C/C++中static和extern都能够用来修饰函数和变量,可是是有差别的。
内部函数和内部变量:仅仅能在文件内使用的函数和变量。
外部函数和外部变量:可以被其他文件使用的函数和变量。
static
1 对函数
定义一个内部函数
static void test()
{
}
声明一个内部函数
static void test();
2 对全局变量
定义一个内部变量
static int a;
3 对局部变量
定义一个生命周期较长的局部变量。
void test()
{
static int a=0;
}
注意:多次调用test方法变量a仅仅会初始化一次。程序退出的时候才会销毁。
extern
1 对函数
完整的定义一个外部函数(能够省略)
extern void test()
{
}
完整的声明一个外部函数(能够省略)
extern void test();
2 对变量
声明一个外部变量 (不能省略)
extern int a;(声明一个外部变量)
int a; (定义一个外部变量)