当前位置: 首页 > news >正文

C++028(变量的作用域)

变量的作用域

作用域就是程序中变量的作用范围。局部变量的作用域是局部的,如函数体内;全局变量的作用域则是整个程序。

  1. 我们前面接触过的变量基本都是局部变量,这些变量在函数体内声明,无法被其他函数所使用。
  2. 函数的形参也属于局部变量,作用范围仅限于函数内部的语句块。
  3. 除此之外,在各类语句块(如if语句、while语句、for语句等)中定义的变量也是局部变量,作用范围仅限于语句块内部。
  4. 全局变量在函数体外声明,因此不属于某个函数,而属于整个C++源文件,可在程序的任何位置访问它。
  5. 全局变量可增加函数间的数据联系。
  6. 例如,同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,就能影响到其他函数,相当于函数间有了一个数据通道。

说明

当内部作用域与外部作用域声明了同名变量时,内部作用域中的变量会屏蔽外部作用域中的变量。

本程序中,变量iTotalCount被定义两次,第一次定义出现在所有函数外,表示全局变量;第二次定义出现在main( )函数中,表示局部变量

细心体会两者的作用域,以及局部变量对全局变量的屏蔽作用。代码如下:

#include<iostream>
using namespace std;
int iTotalCount; //定义全局变量 
int GetCount(); 	//声明GetCount()函数
int main()
{int iTotalCount=100;	//定义局部变量iTotalCount cout<<iTotalCount<<endl;	//输出局部变量iTotalCount的值cout<<GetCount()<<endl;		//输出调用GetCount()函数后的返回值 } int GetCount()	//定义函数 GetCount(){iTotalCount=200;	//给全局变量赋值return  iTotalCount;}
输出结果100200

程序运行结果如上所示。

  1. main( )函数中第一次输出的是局部变量iTotalCount的值100。
  2. 第二次输出的是调用GetCount( )函数后的返回值200。
  3. 每个变量都有一定的生命周期。
  4. 局部变量在函数调用时创建,在栈中分配内存,函数调用结束后销毁并释放。
  5. 全局变量在程序开始时创建并分配空间,在程序结束时释放内存并销毁。

相关文章:

  • IDEA启动报错:Cannot invoke “org.flowable.common.engine.impl.persistence.ent
  • x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
  • [Harmony]WebView基本用法
  • ARM Linux远程调试
  • 数字孪生驱动的离散制造智能升级:架构设计与工程实践
  • 2025中国企业出海:技术如何成为增长引擎
  • 【JavaEE】(1) 计算机如何工作
  • Windows 平台 TCP 通信开发指南
  • Golang 并发小结
  • 计算机系统组成
  • 烦了。。。。。
  • 语法--05--句子成分
  • 6个月Python学习计划 Day 1
  • 【重点案例1】案例1-3流水灯
  • Socket套接字概述
  • 可信计算是什么?可信逻辑:计算系统安全的形式化分析框架
  • 火语言UI组件--控件属性操作
  • 机器学习第二十三讲:CNN → 用放大镜局部观察图片特征层层传递
  • 第五章:异步幻境 · 时间与数据的秘密
  • 探秘 OneCode 双向转换引擎:数据双向流动的核心驱动力
  • ecshop二次开发/关键词在线优化
  • 做网站和平台多少钱/做网站找哪家好
  • 网站推广其他方案内容/外国网站怎么进入
  • 网页设计尺寸单位一般为/南京 seo 价格
  • 怎么自己做一个公众号/厦门百度seo点击软件
  • 网站开发后台 amp/网络营销学什么