admin 管理员组文章数量: 1086019
2024年5月25日发(作者:mysql timestampdiff)
extern的用法
"extern" 是 C 和 C++ 语言中的一个关键字,用于声明外部变量和
外部函数。它的主要作用是在一个源文件中引用另一个源文件中定义的变
量或函数。
当一个变量或函数在一些源文件中被使用,而其定义却在另一个源文
件中时,就需要使用 "extern" 关键字来声明该变量或函数。这是因为编
译器默认情况下只会在当前源文件中查找相应的定义,如果找不到,就会
报未定义错误。为了解决这个问题,我们可以使用 "extern" 来告诉编译
器在其他源文件中查找相应的定义。
下面,我们来详细讨论 "extern" 的用法及其在不同上下文中的使用
情况。
1.声明全局变量:
在一个源文件中声明变量,可以在其他源文件中使用该变量的值。通
常,全局变量的声明放在头文件中,而定义则放在相应的源文件中。这样,
其他源文件只需通过包含头文件即可使用全局变量。
```c
// header.h
// source1.c
int globalVariable = 10;
// source2.c
#include "header.h"
// 可以使用 globalVariable 变量
```
2.引用全局变量:
在一个源文件中使用其他源文件中定义的全局变量,需要在使用之前
进行声明。这样,编译器就知道在其他源文件中查找相应的定义。
```c
// source1.c
int globalVariable = 10;
// source2.c
// 可以使用 globalVariable 变量
```
3.声明外部函数:
在一个源文件中声明函数,可以在其他源文件中调用该函数。同样,
函数的声明通常放在头文件中,而定义则放在相应的源文件中。
```c
// header.h
// source1.c
void externalFunctio
//函数定义
}
// source2.c
#include "header.h"
// 可以调用 externalFunction 函数
```
4.引用外部函数:
在一个源文件中调用其他源文件中定义的函数,需要在使用之前进行
声明。这样,编译器就知道在其他源文件中查找相应的定义。
```c
// source1.c
void externalFunctio
//函数定义
}
// source2.c
// 可以调用 externalFunction 函数
```
需要注意的是,使用 "extern" 声明的变量和函数可以在整个程序中
被访问。所以,在一个源文件中声明的外部变量或函数,可以在其他所有
源文件中使用。而且,外部变量和函数的定义可以在任何一个文件中,只
要它们被正确地声明即可。这是通过包含相应的头文件来实现的。
另外,有时候,我们可能会将 "extern" 关键字与 "static" 关键字
一起使用。这时,它的意义有所不同。在全局变量或函数的定义中使用
"static" 关键字,可以使其具有内部链接性,即只能在当前源文件中访
问。而使用 "extern" 关键字,则可以在其他源文件中引用这些具有静态
链接性的全局变量或函数。
总结起来,"extern" 关键字的主要用途是在一个源文件中引用另一
个源文件中定义的变量或函数。它使得变量或函数可以在整个程序中被访
问,而不仅仅是在当前源文件中。通过合理使用 "extern" 关键字,我们
可以更好地组织和管理程序的各个模块,提高代码的可读性和可维护性。
版权声明:本文标题:extern的用法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1716581854a693528.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论