没有合适的资源?快使用搜索试试~ 我知道了~
C++变量总结 说明各种变量
4星 · 超过85%的资源 需积分: 19 7 下载量 118 浏览量
2011-06-01
11:27:01
上传
评论
收藏 56KB DOC 举报
温馨提示
试读
11页
在C语言中,变量是对程序中数据所占用内存空间的一种抽象,定义变量时,用户定义变量的名,变量的类型,这是变量的操作属性。不仅可以通过变量名访问该变量,系统还通过该标识符确定该变量在内存空间的位置。在计算机中,保存变量当前值的存储单元有两类,一类是内存,另一类是CPU中的寄存器,变量的存储属性就是讨论变量的存储位置的,C语言中定义了四种存储属性,即自动变量、外部变量、静态变量和寄存器变量,它关系到变量在内存中的存放位置,由此决定了变量的值保留的时间和变量的作用范围,这就是生存期和作用域的概念。
资源推荐
资源详情
资源评论
变量的存储属性
在 语言中,变量是对程序中数据所占用内存空间的一种抽象,定义变量
时,用户定义变量的名,变量的类型,这是变量的操作属性。不仅可以通过变
量名访问该变量,系统还通过该标识符确定该变量在内存空间的位置。在计算
机中,保存变量当前值的存储单元有两类,一类是内存,另一类是 中的寄
存器,变量的存储属性就是讨论变量的存储位置的, 语言中定义了四种存储
属性,即自动变量、外部变量、静态变量和寄存器变量,它关系到变量在内存
中的存放位置,由此决定了变量的值保留的时间和变量的作用范围,这就是生
存期和作用域的概念。
变量的生存期和作用域
、变量的生存期
变量的生存期是指变量值保留的期限,可分为两种情况:
静态存储:变量存储在内存中的静态存储区,在编译时就分配了存储空间,
在整个程序运行期间,该变量占有固定的存储单元,变量的值都始终存在,程
序结束后,这部分空间才释放。这类变量的生存期为整个程序。
动态存储:变量存储在内存中的动态存储区,在程序运行过程中,只有当变
量所在函数被调用时,编译系统临时为该变量分配一段内存单元,该变量有值,
函数调用结束,变量值消失,这部分空间释放。我们说这类变量的生存期仅在
函数调用期间。
、变量的作用域
变量的作用域也称为可见性,指变量的有效范围,可分为局部与全局两种情况:
局部变量:在一个函数或复合语句内定义的变量,称为局部变量,局部变量
仅在定义它的函数或复合语句内有效。例如函数的形参是局部变量。
编译时,编译系统不为局部变量分配内存单元,而是在程序的运行中,当局部
变量所在的函数被调用时,编译系统根据需要临时分配内存,调用结束,空间
释放。
例 :分析程序的运行结果。
第一个复合语句中的局部变量
第二个复合语句中的局部变量
!
!
!
"#
$
%
%
!
程序的运行结果是:
%$输出主函数内的变量
输出第一个复合语句中的变量
输出第二个复合语句中的变量
输出函数 中的变量
%$输出主函数内的变量
全局变量:变量在所有函数之外定义称为全局变量,其作用范围为从定义开
始,到本文件结束。全程变量一经定义,编译系统为其分配固定的内存单元,
在程序运行的自始至终都占用固定单元。如果在定义之前使用该全局变量,用
&& 加以说明,则可扩展全局变量的作用域。
使用全局变量与局部变量,应注意以下几点:
'( 不同函数内的局部变量可以重名,互不影响。
') 全局变量与局部变量可以同名,在局部变量起作用的范围内,全局变量不起
作用。
'* 全局变量的初始化只能有一次,是在对全局变量说明的时候。
例 +:分析以下程序的运行结果。
$$全局变量的定义
$局部变量,函数内有效
,
!
-$$局部变量,函数内有效
.$$
!
,
.$$使用全局变量
!
程序运行结果: /$$调用函数 的结果
$$调用函数 ,的结果
$函数 的结果
9.7.2 自动变量
自动变量是最常见的一类变量,将变量的存储属性定义为自动变量的形式
是:
'''''''''#0类型说明符 变量名;
''''一般地说,不加说明的变量都属于自动变量,因此:
'''''''''#0#等价于 #
'''''''''#010#2等价于 10#2
'''''''''#03#45$$6等价于 3#45$$6
自动变量的说明必须在一个函数体的内部进行,函数的形参也是自动变量。
自动变量的作用域是在所说明的函数中。
自动变量实质上是一个函数内部的局部变量。只有该函数被调用时它才存
在,从函数中返回时即消失,它们的值也仅限于说明它的函数,其它函数不能
存取。自动变量随函数的引用与否而存在和消失,在两次调用之间自动变量不
会保持变量值,因此每次调用函数时都必须首先为自动变量赋值后才能使用
(参加运算)。如果不置初值,则变量的值为随机的不定值。
由于自动变量具有局部性,所以在两个函数中可以分别使用同名的变量而互不
影响。
例 :分析程序打印结果:
"#
函数 "# 中的自动变量
70
分别调用函数 和
!
7070
函数 中的自动变量
!
70
函数 中的形参 也是自动变量
.. 加
!
程序中有三个分别在三个不同的函数中,这三个都是自动变量,所
以三个分别局部于三不同的函数,在三个函数中对的操作互不影响,故
运行程序打印如下结果:
剩余10页未读,继续阅读
资源评论
- 梦依20142014-07-12很好的资料
「已注销」
- 粉丝: 16
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功