局部变量与全局变量

局部变量与全局变量

局部变量

定义:

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

说明:

  • 在复合语句中定义的变 量只在本复合语句范围 内有效。
  • 形参属于局部变量
  • 不同函数中同名变量,占不同内存单元
  • 在函数声明中出现的参数名,其作用范围只在本行的 括号内。

全局变量

定义:

在函数之外定义的变量是外部变量,称为全局变 量(global variable,也称全程变量)。全局变量的有效范围为从定义变量的位置 开始到本源文件结束。

说明:

  • 设全局变量的作用是增加函数间数据联系的渠道。
  • 建议不在必要时不要使用全局变量,因为:
    *全局变量在程序的全部执行过程中都占用存储单元,而 不是仅在需要时才开辟单元。
    *它使函数的通用性降低了
    *使用全局变量过多,会降低程序的清晰性。
  • 如果在同一个源文件中,全局变量与局部变量同名 ,则在局部变量的作用范围内,全局变量被屏蔽, 即它不起作用。

局部变量与全局变量同名:

#include<iostream> 
using namespace std; 
int  a=3; 
void main() 
{ 
int a=4; 
cout<<a; 
}

变量的作用域

定义:

变量的有效范围称为变量的作用域(scope)。

分类:

  • 文件作用域
  • 函数作用域
  • 块作用域
  • 函数原型作用域
    在这里插入图片描述
    域分为5类 
    1.文件作用域 
    *全局变量 
    *函数作用域 
    *局部变量 
    *块作用域 
    *局部变量 
    2.函数原型作用域 
  • 作用域从变量起作用的范围对变量进行了讨论  即变量生存的空间 
  • 从变量的生存时间,对变量进行讨论

变量的存储类别

  • 作用域是从空间的角度来分析的,分为全局变量和局 部变量。 
  • 存储类别是从生存时间的角度来分析的,指的是数据 在内存中存储的方法,分为动态存储变量和静态存储变量。

静态存储:

在文件运行期间有固定的存储空间,直到文件运行结束。

动态存储:

在程序运行期间根据需要分配存储空间,函数结束后立 即释放空间。若一个函数在程序中被调用两次,则每次分配的单元 有可能不同。

局部变量的存储类别

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值