如何声明和定义一个函数,使它只能从单个函数访问?我可以在另一个函数中声明函数。但是,由于局部函数定义是非法的(根据VisualC++),我必须在全局范围内定义函数,使得其他函数调用它成为可能。
void f1() {
void f1_private();
f1priv();
}
void f1_private() {
}
void f2() {
f1_private(); // Legal
}
是否可以将f1úu设置为只能从f1进入?如果不是,本地声明的函数有什么用途?
最佳答案
您可以将这两个函数放在一个单独的文件中,并使您希望的函数不太可见。C中的静态函数只能从声明它的同一个源文件中访问(有点像穷人的命名空间概念)。
然后像平常一样在头文件中公开可见的函数。