在 C 中,——extern 关键字用于声明变量或函数,表示它是在其他文件中定义的。 当变量或函数在文件中声明为 -extern- 时,它会告诉编译器该变量或函数已在另一个文件中定义,因此不需要在当前文件中再次定义。
extern 关键字的主要目的是实现变量或函数的共享。 当多个文件需要使用相同的变量或函数时,可以将它们的定义放在一个单独的文件中,然后在需要使用它们的其他文件中使用 -extern- 关键字声明它们。 这避免了重复的定义,提高了可维护性和可重用性。
下面是一个简单的示例:
假设我们有一个名字叫 -mathc——,它定义了一个平方函数 - square——:
// math.c现在,我们要添加一个名为 - main 的新名称c——文件。 为了实现这一点,我们需要使用 -mainc--use-extern-keyword 声明-square-函数:#include
int square(int x) {
return x * x;
// main.c在此示例中,我们在 - mainC———extern int square(int x);—声明 -square- 函数。 这告诉编译器我们去过其他地方(即 -mathc-file) 定义了 -square- 函数,因此无需在此处再次定义。然后,我们可以转到 -mainc——square— 函数来计算整数的平方。#include
声明 square 函数。
extern int square(int x);
int main()
int num = 5;
int result = square(num);
printf("the square of %d is %d, num, result);
return 0;
需要注意的是,使用 -extern- 关键字声明变量或函数时,无需指定其类型。 编译器根据前面的定义自动推断类型。 例如,在上面的示例中,我们没有明确指定 -square- 函数的类型(例如,-int square(int x);— 因为编译器可以从前面的定义中推断出它是一个返回整数类型的函数。
此外,如果变量或函数在多个文件中声明为 -extern——,则它们必须具有相同的名称和类型。 否则,编译器将无法确定应使用哪个定义。
extern 关键字在 C 中用于声明变量或函数,表示它是在其他文件中定义的。 通过使用 -extern- 关键字,我们可以共享变量或函数,避免重复定义,并提高可维护性和可重用性。 C 语言基础