C++外部变量定义与使用

不同于Java与C#, C++的变量与函数不一定存在于类中. 在C++中, 定义于函数外的变量称为外部变量, 函数内的变量称为局部变量, 也叫自动变量. 外部变量只能被定义一次, 而且在函数内对外部变量的引用必须进行声明, 可用extern语句进行显示声明, 也可以上下文隐式声明, 假如在函数内定义了与外部变量名称相同的变量, 则不会使用外部变量, 而是以当前定义变量使用.
如图
在这里插入图片描述
在main函数外定义了一个int型变量i并初始化为1, 在main函数内也定义了一个int型变量i并初始化为2, 此时在main函数中对i进行输出, 则不会使用外部变量i, 而是使用main函数内的变量i.
输出结果如图
在这里插入图片描述

那么此时如果我们需在main函数中使用外部变量i, 则需在main函数中用extern显示声明, 如图
在这里插入图片描述
注意, 在这条语句中不可再对i进行赋值, 例如

在这里插入图片描述
会被编译器提示不可对外部变量的局部声明进行初始化, 当然, 可以在其他语句中再对i进行赋值, 如图
在这里插入图片描述

外部变量的作用域范围为全局范围, 也就是说, 在其他文件中定义的外部变量在当前文件也是可以使用的, 且会因为命名而发生冲突, 但是需要在使用外部变量的时候对其用extern声明.由于外部变量的作用域特性, 导致其定义位置是无关的, 也就是说, 无论外部变量i定义在main函数后还是前, 在main函数中都可以以extern语句进行引用.

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值