假设我有一个要在内部使用的函数,例如Java或C ++中的private
,但是我用C编写。在这种情况下,我有一个头文件,一个c
文件实现和c
文件具有一些最终用户不应该使用的功能。我可以不在头文件中声明这些功能以防止对其进行访问吗?还是这种不良做法?是否有更好的方法?
最佳答案
在这种情况下,这几乎就是您要做的,并将静态函数添加到已声明的函数中。您将在.h文件中声明您的公共函数,并在.c文件中声明私有函数。
假设您有一个.h和.c文件,如下所示:
SomeFile.h
void doSomething1(void);
void doSomething2(void);
SomeFile.c
static void doSomething3(void);
static void doSomething4(void);
//These functions can be called by anyone
void doSomething1(void)
{
//function guts here
}
void doSomething2(void)
{
//function guts here
}
//These functions can only be called inside this file
static void doSomething3(void)
{
//function guts here
}
static void doSomething4(void)
{
//function guts here
}
关于c - C中的功能访问范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34538460/