全局变量的作用域是整个程序_5.2 C++局部变量与全局变量 | 输出局部全局变量...

d8c3fb63d77809cbfb98fa27178f1a9d.png

C++局部变量

C++局部变量是指:在一个函数内部定义的变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它,在此函数以外是不能使用这些变量的。

同样,在复合语句中定义的变量只在本复合语句范围内有效,如下就是局部变量:

#include<iostream>//头文件 
using namespace std;//命名空间 
int main() //主函数 
{
  int local_Variable;//这就是局部变量 
}
  • 主函数不能使用其他函数中定义的变量。
  • 不同函数中可以使用同名的变量,它们代表不同 的对象,互不干扰。
  • 可以在一个函数内的复合语句中定义变量,这些变量只在本复合语句中有效。
  • 形式参数也是局部变量。
  • 在函数声明中出现的参数名,其作用范围只在本行的括号内。
  • 主函数main中定义的local_Variable就是局部变量,只在主函数中有效,不会因为在主函数中定义而在整个文件或程序中有效。

C++全局变量

C++全局变量:是指在函数之外定义的变量,如下:

#include<iostream>//头文件 
using namespace std;//命名空间 
int global_Variable;//我是全局变量 
int main() //主函数 
{

}

建议读者尽量不要使用全局变量,原因有以下几点

  • 全局变量在程序的全部执行过程中都占用存储单 元,而不是仅在需要时才开辟单元。
  • 它使函数的通用性降低了,因为在执行函数时要 受到外部变量的影响。
  • 使用全局变量过多,会降低程序的清晰性。

读者需要了解一点:如果在同一个源文件中,全局变量与局部变量 同名,则在局部变量的作用范围内,全局变量被屏 蔽,即它不起作用,设全局变量的作用是增加函数间数据联系的渠道。

变量的有效范围称为变量的作用域,归纳起来,变量有4种不同的作用域

  • 文件作用域
  • 函数作用域
  • 块作用域
  • 函数原型作用域

文件作用域是全局的,其他三者是局部的,除了变量之外,任何以标识符代表的实体都有作用域,概念与变量的作用域相似。

经典案例:C++输出局部与全局变量。

源码分析:

#include<iostream>//头文件 
using namespace std;//命名空间 
int global_Variable=10;//定义全局变量 
int main() //主函数 
{
  cout<<"全局变量的值:"<<global_Variable<<endl;
  int local_Variable; //定义局部变量
  local_Variable=5;//赋初值 
  cout<<"局部变量的值:"<<local_Variable<<endl;
  cout<<"-----------------"<<endl;
  
  int global_Variable=20;//定义变量且赋初值 
  cout<<"此刻global_Variable的值是:"<<global_Variable<<endl;
  return 0;//函数返回值为0 
}

编译后的结果:

全局变量的值:10
局部变量的值:5
-----------------
此刻global_Variable的值是:20

--------------------------------
Process exited after 0.06561 seconds with return value 0
请按任意键继续. . .
5.2 C++局部变量与全局变量​mp.weixin.qq.com
81ba8833e048f986312b8197203385bc.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值