简说extern关键字

tech2022-11-06  94

关键字extern的作用是在一个文件中引用一个变量或者一个函数

引用同一个文件中的变量

在编写代码的时候会出现一个变量在使用的时候,发现这个变量声明的位置在使用位置的后边,但是这个时候不想把声明位置给提前,导致程序出现变量未定义的错误,这个时候可以通过extern在使用之前对其进行声明,既可以使用该变量。

例子:

#include<stdio.h> void func(); int main() { func(); //此时调用func函数在num声明之后 extern int num; printf("%d", num);// 虽然调用num在声明之前,但是通过ectern对其进行修饰可以使用 return 0; } int num = 1; void func() { printf("%d\n", num++); }

引用另个一个文件中的全局变量

如果在同一个工程下的其他文件有一个非static修饰的全局变量要在当前问下使用,可以使用extern对其修饰。如下所示:

// main.c #include<stdio.h> int main(){ extern int num; printf("%d",num); return 0; } //app.c #include<stdio.h> int num = 5; void func(){ printf("fun in app.c"); }

引用另个一个文件中的函数

如果在另外一个文件中有一个函数需要在当前文件下使用,但是又不需要全部的函数,则可以通过extern的方法对其进行声明,则可以不需要加入一个头文件,具体使用方法和全局变量相同。

// main.c #include<stdio.h> int main(){ extern void func(); func(); return 0; } // app.c #include<stdio.h> void func(){ printf("fun in a.c"); }
最新回复(0)