C语言中的静态(static)函数

来源:互联网 发布:从ubuntu启动windows 编辑:程序博客网 时间:2024/05/01 04:02

在函数的返回类型前面加上关键字static,函数就被定义成为静态函数

在C语言中用static声明限定外部变量与函数,可以将其后声明的对象的作用域限定为被编译源文件的的剩余部分。通过static限定外部对象,可以达到隐藏外部对象的目的。如果把函数声明为static类型,则该函数名除了对该函数声明的文件可见外,其他文件都无法访问。也就是只能被本文件中的函数调用,而不能被同一程序中的其他文件的函数调用。

static可以限定变量或函数为静态存储。static限定的变量或函数不会和同一程序中其他文件同名的相冲突。如果用static限定内部变量,则该变量从程序一开始就用有内存,不会随其所在函数的调用和退出而分配和消失。


C语言中使用静态函数的好处:

(1)、静态函数会被自动分配在一个一直使用的存储区,直到程序结束才从内存消失,避免调用函数时压栈出栈,速度快很多

(2)、其他文件可以定义相同名字的函数,不会发生冲突

(3)、静态函数不能被其它文件调用,作用于仅限于本文件

1 0