c语言中extern需要在同行目录吗?
时间: 2023-08-05 22:05:34 浏览: 132
`extern`关键字在C语言中用于声明一个变量或函数是在其他文件中定义的,在当前文件中仅作为声明使用。因此,`extern`关键字并不要求被引用的变量或函数在同一目录下。
在C语言中,可以将函数或变量的声明放在头文件中,然后在需要使用它们的地方通过`#include`指令将这个头文件包含进来。这样,即使被引用的变量或函数在其他文件中定义,也能够在当前文件中使用。
示例代码如下:
```
// file1.c
int global_var; // 定义一个全局变量
// file2.c
extern int global_var; // 声明一个在其他文件中定义的全局变量
int main() {
global_var = 10; // 在当前文件中使用全局变量
return 0;
}
```
在上面的示例代码中,`global_var`被定义在`file1.c`文件中,然后在`file2.c`文件中使用`extern`关键字进行声明。虽然这两个文件在不同的文件中,但由于在`file2.c`文件中进行了声明,因此可以在`main`函数中使用`global_var`变量。
需要注意的是,如果被引用的变量或函数在其他库中定义,还需要将这个库链接到当前程序中才能正常使用。
相关问题
c语言中extern需要在同级目录下才能使用吗?
`extern` 关键字是用来声明一个变量或函数是在其他文件或模块中定义的。在 C 语言中,如果你要在一个文件中引用另一个文件中声明的变量或函数,你需要使用 `extern` 来告诉编译器该变量或函数是在其他文件中定义的。这个时候,你需要在你的代码中包含该变量或函数的声明,通常是通过在一个头文件中声明该变量或函数。
所以,`extern` 关键字并不要求被引用的变量或函数必须在同一个目录下,只要你在代码中正确地包含了该变量或函数的声明,编译器就能够正确地找到它们。当然,你需要确保编译器能够找到定义该变量或函数的源文件,通常是通过编译时指定源文件的路径来实现。
c语言中的extern关键字的用法有哪些?
extern关键字可以用于声明变量或函数的外部链接,其用法包括:
- 在函数内部声明全局变量或函数,以便在其他文件中使用。
- 在不同的C文件中声明同名的变量或函数,以便在其他文件中共享使用。
- 声明外部变量或函数,以便在同一文件中的其他函数中使用。
需要注意的是,使用extern关键字只是声明变量或函数的存在,不会分配内存或执行代码。在程序中使用它们时,需要在其他地方定义或实现它们。
阅读全文