计算机c语言中什么是静态函数

如题所述

静态函数(带static的),外部文件无法使用该函数了,同样的是定义静态变量后,外部文件同样不能使用;在工程中,通常各个模块分开完成,这时候如果确定自己定义的函数别的文件不会使用,就可以加上static,以保证不会被误用;只能在本文件中使用,无法跨文件。

静态函数是函数的一种,函数包括静态函数和非静态函数两种。
其中静态函数是有static修饰的函数,如果没有,则为非静态函数(全局函数)。
静态函数(带static的),只能在本文件中使用,无法跨文件。而非静态函数(不带static的),可以在任何一个文件中使用。当在其它文件中使用时,需要做函数声明后再使用。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-03
静态函数 首先是一个函数 ,其次由于其实static 使其变为全局函数 ,可以被该文件内的任何函数调用,不能被其它文件的函数调用追问

什么是该文件内

追答

加入是a.c文件中声明了static int fun(){} 函数 ,但是不能再b.c文件中调用

本回答被提问者采纳
第2个回答  2015-02-03
说的简单点:
普通的函数都需要 先定义一个该类的变量,而后调用函数,而静态函数可以直接调用
class A
{
public:
void fun1();
static void fun2();
}

fun1()必须用变量来调用 如: A a; a.fun1();
fun2()可以直接调用,如: A::fun2();
这样可以避免生成一个变量,可以节省内存,方便调用....

当然了,有好处也有坏处:

静态的成员函数不能访问类中的非静态成员
相似回答