【C++】关键字 `extern`

本文详细介绍了C/C++中的extern关键字,用于声明变量或函数在其他文件中定义。extern可以用于多个文件间共享变量,函数声明默认即为extern。文章通过示例解释了如何正确使用extern声明外部变量,并指出extern并非总是必要,但能提高代码的可读性。同时,extern关键字的使用遵循单定义规则,变量和函数只能被定义一次。

C/C++中extern关键字详解

一个很容易忽略的关键字

基本解释

extern可以放在变量或者函数前。表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找定义。此外exrtern也可以用来进行链接指定。

1. 用作外部变量的声明与使用

如果在多个文件中使用外部变量,只需在一个文件中包含该变量的定义(单定义规则),但在使用该变量的其他所有文件中,都必须使用extern声明它:

//file01.cpp
extern int cat = 20; //定一个flag变量并初始化
int dog = 22;
int fleas;
//file02.cpp
//使用file01的cat和dog
extern int cat;
extern int dog;

在上述例子中,因为file02并没有声明fleas变量,因此无法使用,但是声明了catdog,因此可以使用这两个变量。由此可见,关键字extern并非必不可少的,因为即使省略它,效果也相同。

2、函数的声明

函数的声明中extern关键字是可有可无的,因为函数本身不加修饰的话就是extern。但是引用的时候一样需要声明。

3、可以多次声明,但是定义只能一次

extern int i; //声明,不是定义
int i; //声明,也是定义
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧恩意

如有帮助,感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值