小编典典

什么是 C 中的“静态”函数?

all

正如评论中所阐明的,问题是关于普通的c函数,而不是c++方法。 static

我明白什么是static变量,但什么是static函数?

为什么如果我声明一个函数,比方说void print_matrix,比方说a.c(WITHOUT a.h) 并包含"a.c"-
我得到"print_matrix@@....) already defined in a.obj"了,但是如果我声明它,static void print_matrix那么它会编译?

更新.c只是为了澄清问题-
正如你们中的许多人指出的那样,我知道包含是不好的。我只是暂时清理空间,main.c直到我更好地了解如何将所有这些功能分组到适当的.h文件.c中。只是一个临时的、快速的解决方案。


阅读 105

收藏
2022-03-06

共1个答案

小编典典

static函数是仅对同一文件中的其他函数可见的函数(更准确地说 是同一
翻译单元
)。

编辑 :对于那些认为问题的作者意味着“类方法”的人:由于问题被标记C,他的意思是一个普通的旧 C 函数。对于 (C++/Java/…)
类方法,static意味着可以在类本身上调用此方法,不需要该类的实例。

2022-03-06