如何在C中正确使用extern

时间:2018-11-15 14:27:39

标签: c

假设我有两个C模块:第一个模块是“ file1.c”和“ file1.h”。第二个模块是“ file2.c”和“ file2.h”。第一个源文件包含一个名为sharedVariable的变量。

file1.c

/* Includes */
#include "stdlib.h"

int sharedVariable; // Global variable

/* Some C code */

file2.c

/* Includes */
#include "stdlib.h"

extern int sharedVariable; // Global variable

/* Some C code */

我的问题是:为了使sharedVariable在file2.c中可见,我应该添加#include "file1.h"吗?如果是,我应该在其中放一些东西还是将其留空?如果不需要添加第一个文件的标头,则编译器如何识别sharedVariable的来源?

编辑:

我正在寻找在两个文件之间共享变量的良好实践。其中一个是所有者,另一个是读者。我曾经将getter和setter放在所有者文件中(setter是静态函数),并将getter暴露给另一个文件。但是我对C语言中的extern很好奇。改用它是一种好习惯吗?

0 个答案:

没有答案