在C言语中,`extern` 关键字用于声明一个变量或函数在其他当地现已界说了。这意味着`extern`关键字声明的变量或函数的存储空间在其他文件中,而不是在当时文件中。运用`extern`关键字能够让咱们在多个文件中同享同一个变量或函数。
运用`extern`关键字的原因
1. 模块化编程:经过运用`extern`关键字,咱们能够将代码分割成多个模块,每个模块都能够包括自己的变量和函数。这有助于代码的安排和保护。2. 防止重复界说:当咱们需求在多个文件中运用同一个变量或函数时,运用`extern`关键字能够防止重复界说,然后削减过错和抵触。3. 跨文件拜访:`extern`关键字答应咱们拜访在其他文件中界说的变量和函数,这关于完结杂乱的程序结构十分有用。
示例
假定咱们有两个文件:`main.c` 和 `utils.c`。
在 `utils.c` 文件中,咱们界说了一个全局变量和一个函数:
```c// utils.c
int globalVar = 10;
int add { return a b;}```
在 `main.c` 文件中,咱们需求运用 `utils.c` 中界说的变量和函数。为此,咱们需求在 `main.c` 文件中声明这些变量和函数:
```c// main.c
include
extern int globalVar; // 声明外部变量extern int add; // 声明外部函数
int main { printf; printfqwe2; return 0;}```
为了使 `main.c` 能够找到 `utils.c` 中界说的变量和函数,咱们需求在编译时链接这两个文件。这通常是经过在编译指令中指定两个文件的称号来完结的。
注意事项
1. 当运用`extern`关键字声明一个变量时,该变量有必要是全局变量。局部变量不能被`extern`关键字声明。2. 当运用`extern`关键字声明一个函数时,不需求指定函数的回来类型和参数类型。编译器会主动从函数界说中获取这些信息。3. 运用`extern`关键字声明的变量和函数有必要在其他当地界说。假如未界说,则会导致链接过错。
经过运用`extern`关键字,咱们能够完结跨文件的变量和函数同享,然后进步代码的可读性和可保护性。
深化了解C言语中的“extern”关键字
什么是extern关键字?
在C言语编程中,“extern”是一个关键字,用于声明一个现已在其他当地界说的变量或函数。它的首要效果是告诉编译器,某个变量或函数的界说坐落当时文件之外,编译器需求在链接阶段找到这个变量或函数的实践界说。
extern关键字的效果
1. 声明全局变量
当你在某个文件中界说了一个全局变量,并期望在另一个文件中运用这个变量时,能够在第二个文件中运用“extern”关键字来声明这个变量。这样,编译器就会在链接阶段查找这个全局变量的界说。
2. 声明函数
假如你在一个文件中界说了一个函数,并期望在另一个文件中调用这个函数,能够在第二个文件中运用“extern”关键字来声明这个函数。不过,通常情况下,函数的声明现已包括在头文件中,所以直接包括头文件即可。
extern关键字的运用场景
1. 声明全局变量
以下是一个运用“extern”关键字声明全局变量的比如:
```c
// file1.c
int globalVar = 10;
// file2.c
include
extern int globalVar;
void printGlobalVar() {
printf(\
未经允许不得转载:全栈博客园 » c言语extern,什么是extern关键字?