前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C++局部变量与全局变量 | 输出局部全局变量

C++局部变量与全局变量 | 输出局部全局变量

原创
作者头像
小林C语言
修改2020-12-02 09:56:42
修改2020-12-02 09:56:42
1.1K0
举报

C++局部变量

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

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

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

C++全局变量

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

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

}

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

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

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

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

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

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

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

源码分析:

代码语言:txt
复制
#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 
}

编译后的结果:

代码语言:txt
复制
全局变量的值:10
局部变量的值:5
-----------------
此刻global_Variable的值是:20

--------------------------------
Process exited after 0.06561 seconds with return value 0
请按任意键继续. . .

C++输出局部全局变量

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档