1.修饰函数
用static修饰函数,使此函数仅在该函数所在的文件中可见,在其他文件中不能引用该函数.
例:在file1种定义函数
static void max(int x, int y)
{
return x > y ? x : y;
}
在file1中用函数f1(),
则
void f1()
{
...
max(x, y); //正确
...
}
在file2中有有函数f2.
则
void f2()
{
...
max(x, y); //不正确
...
}.
这样的好处是:不同的人些的函数的名字可以相同,因为不冲突.
2.修饰变量
静态变量是属于静态存储方式.
静态局部变量生命在函数内部,它的作用域就是整个源文件,它的作用域和动态的变量一样.尽管退出函数后,变量还继续存在,但是已经不能再使用了.
静态全局变量:全局变量前加上static关键字就是静态全局变量.当然也是静态存储方式,当一个工程文件由多个文件组成时,静态全局变量,在一个文件中定义,那么它只能在这个文件中被使用,不能在其他的文件中使用.
用static修饰函数,使此函数仅在该函数所在的文件中可见,在其他文件中不能引用该函数.
例:在file1种定义函数
static void max(int x, int y)
{
return x > y ? x : y;
}
在file1中用函数f1(),
则
void f1()
{
...
max(x, y); //正确
...
}
在file2中有有函数f2.
则
void f2()
{
...
max(x, y); //不正确
...
}.
这样的好处是:不同的人些的函数的名字可以相同,因为不冲突.
2.修饰变量
静态变量是属于静态存储方式.
静态局部变量生命在函数内部,它的作用域就是整个源文件,它的作用域和动态的变量一样.尽管退出函数后,变量还继续存在,但是已经不能再使用了.
静态全局变量:全局变量前加上static关键字就是静态全局变量.当然也是静态存储方式,当一个工程文件由多个文件组成时,静态全局变量,在一个文件中定义,那么它只能在这个文件中被使用,不能在其他的文件中使用.