admin 管理员组

文章数量: 1086019


2024年5月25日发(作者:小型低速电机220伏)

c语言extern函数

C语言中,extern(外部变量)关键字可作为函数声明,也可以作

为变量声明。可以理解为告诉编译器,该函数/变量在其他文件中定义,

在本文件中只是声明。

在头文件中可以声明函数,但是函数实现必须在.c文件中完成。

这样设计的好处在于可以提高代码的复用性,当头文件被多个.c文件

包含时,函数只需要实现一次即可供所有.c文件调用。

例如,建立一个test1.c文件和test2.c文件,其中test1.c文

件中定义了一个全局变量a和函数func(),test2.c文件中需要使用

全局变量a和函数func()。在test2.c文件中使用extern关键字声明

全局变量和函数,然后就可以在test2.c文件中正常应用全局变量和

调用函数,具体代码如下:

test1.c文件

```c

#include

int a = 10;

void func()

{

printf("Hello Worldn");

}

```

test2.c文件

```c

#include

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

extern void func(); // 声明函数func()

int main()

{

printf("a = %dn", a);

func();

return 0;

}

```

上述代码可实现包含外部函数的使用。关键字extern的存在保证

了程序顺利对函数的使用,并避免了因为未定义而出现报错的情况。

需要注意的是,如果在同一个.c文件中声明和定义变量或函数,

则不需要使用extern关键字。也就是说,外部变量或函数的定义和声

明必须在不同的文件中。

另外,使用extern关键字无法获取函数的返回值和参数。如果需

要获取函数返回值或传递参数,需要在所调用的.c文件中进行定义和

声明。

总结来说,extern关键字的作用是在一个文件中声明并引用另一

个文件中定义的全局变量或函数,从而实现代码的复用。需要注意的

是,外部变量或函数的定义和声明必须在不同的文件中。


本文标签: 函数 文件 关键字 声明 使用