相关疑难解决方法(0)

如何在C中正确使用extern关键字

我的问题是关于何时应该用externC中的关键字引用函数.

我没有看到何时应该在实践中使用它.在我编写程序时,我使用的所有函数都通过我包含的头文件提供.那么为什么extern访问头文件中没有公开的东西会有用呢?

我可能会想到如何extern正确地工作,如果是这样,请纠正我.

编辑:如果extern是头文件中没有关键字的默认声明,你应该做些什么吗?

c

227
推荐指数
7
解决办法
23万
查看次数

C中的内部静态变量,你会使用它们吗?

在C中,您可以拥有可在文件中的每个位置查看的外部静态变量,而内部静态变量仅在函数中可见但是持久

例如:

#include <stdio.h>

void foo_bar( void )
{
        static counter = 0;
        printf("counter is %d\n", counter);
        counter++;
}
int main( void )
{
        foo_bar();
        foo_bar();
        foo_bar();
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出将是

counter is 0
counter is 1
counter is 2
Run Code Online (Sandbox Code Playgroud)

我的问题是你为什么要使用内部静态变量?如果你不希望你的静态变量在文件的其余部分可见,那么该函数真的不应该在它自己的文件中吗?

c static

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×2

static ×1