c语言

C语言中extern详细用法解析

小云
143
2023-08-16 12:36:51
栏目: 编程语言

在C语言中,extern是一个关键字,用于声明外部变量和函数。

在C语言中,如果要在一个源文件中使用另一个源文件中定义的全局变量或函数,就需要使用extern关键字来声明这些变量或函数。extern关键字告诉编译器,这些变量或函数是在其他源文件中定义的,而不是当前源文件中定义的。

extern的用法分为两种情况:

  1. 声明全局变量:如果要在一个源文件中使用另一个源文件中定义的全局变量,就需要在使用的源文件中使用extern关键字来声明这个全局变量。例如,如果在源文件A中定义了一个全局变量int a;,在源文件B中要使用这个全局变量,就需要在源文件B中使用extern关键字进行声明:extern int a;。这样,编译器就知道在链接时要从其他源文件中找到这个全局变量的定义。

  2. 声明外部函数:如果要在一个源文件中调用另一个源文件中定义的函数,就需要在使用的源文件中使用extern关键字来声明这个函数。例如,如果在源文件A中定义了一个函数void func();,在源文件B中要调用这个函数,就需要在源文件B中使用extern关键字进行声明:extern void func();。这样,编译器就知道在链接时要从其他源文件中找到这个函数的定义。

需要注意的是,extern关键字只是一个声明,不是定义。它只是告诉编译器某个变量或函数在其他源文件中有定义,而不是在当前源文件中定义。因此,extern关键字不能初始化变量,也不能给函数提供函数体。变量的定义和函数的定义必须在其他源文件中进行。

总结来说,extern关键字的作用是告诉编译器某个变量或函数在其他源文件中有定义,以便在编译和链接时正确地引用这些变量或函数。

0
看了该问题的人还看了