假设我有一个要在内部使用的函数,例如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/

10-11 22:13
查看更多