温馨提示×

如何通过extern实现C语言的全局变量共享

小樊
81
2024-08-27 02:58:09
栏目: 编程语言

在 C 语言中,要实现全局变量的共享,可以使用 extern 关键字。extern 关键字允许在一个源文件中声明一个全局变量,并在另一个源文件中定义它。这样,两个或多个源文件可以共享同一个全局变量。

以下是如何使用 extern 关键字实现全局变量共享的步骤:

  1. 在一个源文件(例如 file1.c)中定义全局变量:
// file1.c
#include<stdio.h>

int global_var = 0; // 定义全局变量

void set_global_var(int value) {
    global_var = value;
}
  1. 在另一个源文件(例如 file2.c)中使用 extern 关键字声明该全局变量,并访问它:
// file2.c
#include<stdio.h>

extern int global_var; // 声明全局变量

void print_global_var() {
    printf("Global variable: %d\n", global_var);
}
  1. 编译并链接这两个源文件:
gcc -o main file1.c file2.c
  1. 在主程序(例如 main.c)中调用这些函数:
// main.c
#include<stdio.h>

extern void set_global_var(int value);
extern void print_global_var();

int main() {
    set_global_var(42);
    print_global_var();
    return 0;
}
  1. 编译并运行主程序:
gcc -o main main.c file1.c file2.c
./main

输出结果:

Global variable: 42

这样,file1.cfile2.c 就可以共享名为 global_var 的全局变量。请注意,extern 关键字仅用于声明全局变量,而不是定义它。确保在一个源文件中定义全局变量,并在其他源文件中使用 extern 关键字声明它。

0