已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章C语言中用户标识符的作用域和存储类 存储类型存储长度数据类型变化范围变量属性运算性质存储类别生存期 时间属性 寿命长短 作用域 空间属性 空间范围 定义变量的一般形式 存储类别数据类型变量名 其中 存储类别 可缺省 auto 只强调其数值特点 12 1局部变量 全局变量和存储分类 局部变量 在函数内部和复合语句内部定义的变量 函数的形参也属于局部变量 全局变量 在函数外部定义的变量 局部变量也被称为内部变量 全局变量被称为外部变量 四种说明符 auto register static extern 寄存器变量1 定义形式register类型变量名 如 registerinti j 2 定义位置寄存器变量定义在函数内或分程序内 形参也可以定义为寄存器变量 3 作用域寄存器变量的作用域为定义它的函数内或分程序内 离开定义它的环境便不能被识别 12 2局部变量及其作用域和生存期 4 生存期函数调用时分配 离开这个环境即被释放 寄存器变量的生命只存在于其定义环境 5 运算特点直接对CPU的寄存器进行存取运算 无须同内存打交道 因而其运行速度快 由于CPU的寄存器数量少 其多数又被程序开发环境所专用 注意 定义时若未初始化 其值不确定 例12 1 自动变量1 定义形式auto类型变量名 如 autocharchar1 说明 如未指明存储类别 则都是自动变量 2 定义位置定义在函数内 或分程序内 函数的形参变量或函数体的局部变量都是自动变量 3 作用域作用域为定义它的函数或分程序 离开其定义的环境便不能被识别 4 生存期自动变量在函数调用或进入分程序时分配存储单元 离开这个环境即被释放 其生命只存在于定义它的环境 5 数据存储区自动变量被系统分配在动态存储区 当动态存储区中的一个变量被释放结束其生命后 编译系统可能会将其存储单元分配给另一个变量 同一个函数中的同一个自动变量 在不同的调用中可能分配在不同的单元 注意 定义时若未初始化 其值不确定 静态局部变量使用关键字static 根据其定义位置又分为静态局部变量和静态外部变量 这节介绍静态局部变量 1 定义形式static类型变量名 2 定义位置静态局部变量定义在某个函数内 如 intf intn staticintp 1 p p n returnp 3 作用域静态局部变量局部于定义它的函数 4 生存期静态局部变量编译时分配存储单元 静态局部变量从第一次分配存储单元后 便一直占有存储单元 直到程序结束为止 当系统的控制退出一个函数时 该函数中的静态局部变量并不释放其存储单元 寿命是全程的 5 其它性质如果在定义时进行初始化 则只初始化一次 以后每次调用时 继承上次调用后的值 定义时若未初始化 其值默认为0 例P17612 3 全局变量是在函数外部任意位置上定义的变量 它的作用域是从变量定义的位置开始 到整个源文件结束止 外部变量 即非静态的外部变量 1 定义形式类型变量名 例 intk 定义形式和自动变量相同 但定义位置不同2 定义位置外部变量的定义位置在所有函数之外 一般最好放在程序首部 当与局部变量同名时 隐藏其全局属性 而访问与其同名的局部变量 例12 2 12 3全局变量及其作用域和生存期 3 作用域外部变量可识别访问的范围是自定义点开始到所在文件结束 如定义前或其它文件中访问一个外部变量 需对外部变量作 外部说明 一般形式是extern类型变量名 例12 34 生存期外部变量在编译时分配存储单元 在整个程序运行中保留其值 其寿命是全程的 注意 定义时若未初始化 其值默认为0 静态全局变量在外部变量定义前加static 即为静态全局变量 其作用域是全局的 但不能跨文件使用 例12 4中是错误的引用函数的存储分类所有的函数都是外部
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 异地过户协议书模板
- 弱电消防通讯协议书
- 强弱电维护合同范本
- 彩票店面转让协议书
- 彩钢板供货合同范本
- 影模板广告合同范本
- 影视植入合同协议书
- 暖通资料承包协议书
- 征用协议合同写范本
- 律师工伤免责协议书
- (2023)《中华人民共和国公务员法》试题及答案
- 护士执业注册健康体检表
- 国家开放大学《个人与团队管理》形考任务1-10答案合集
- 超星尔雅学习通《逻辑学导论(中山大学)》章节测试含答案
- 商务英语常用单词
- 建设工程施工合同(GF-2017-0201) 专用条款模板
- 现代设备管理课程教学大纲
- DBJ50∕T-330-2019 增强型水泥基泡沫保温隔声板建筑地面工程应用技术标准
- 武汉大学2022年强基计划校测数学试题(Word版含解析)
- 《设计心理学》课件5-审美心理学
- 电子束曝光技术页PPT课件
评论
0/150
提交评论