C语言中extern详细用法解析

467
2023/8/5 12:36:51
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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关键字的作用是告诉编译器某个变量或函数在其他源文件中有定义,以便在编译和链接时正确地引用这些变量或函数。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c语言怎么输出负数