




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第四讲反向数据传递 输出参数 2 主要内容 变量的作用域 全局变量和局部变量输出参数的概念和运用场合指针的概念使用指针变量向主调函数传值的方法 3 变量的作用域 全局变量和局部变量 5 3变量与函数5 3 1局部变量和全局变量5 3 2变量生命周期和静态局部变量 4 5 3 1局部变量和全局变量 局部变量在函数内定义的变量 包括形参 作用范围 本函数内部定义在复合语句内的变量作用范围 复合语句内部全局变量在函数以外定义的变量 不从属于任一函数 作用范围 从定义处到源文件结束 包括各函数 5 例5 6在复合语句中定义局部变量 includeintmain void inta a 1 复合语句开始 intb 2 b a b a a b 复合语句结束 printf d a return0 b 小范围内的临时变量 4 6 例5 7全局变量定义 include stdio h intx 定义全局变量x intf intx 4 x为局部变量 returnx intmain void inta 1 x a 对全局变量x赋值 a f a的值为4 intb 2 b a b b的值为4 x x b 全局变量运算 printf d d a x return0 4 7 若局部变量与全局变量同名 局部变量优先 7 自动变量 auto 普通的局部变量intx y autointx y charc1 autocharc1 函数调用时 定义变量 分配存储单元 函数调用结束 收回存储单元 全局变量 从程序执行开始 到程序的结束 存储单元始终保持 变量生命周期变量从定义开始分配存储单元 到运行结束存储单元被回收的整个过程 5 3 2变量生命周期和静态局部变量 8 存储类型 动态存储 自动变量静态存储 全局变量 静态局部变量用户存储空间 存储区 9 例5 9静态局部变量示例 includevoidfun intk intmain void intk for k 1 k 3 k fun k return0 voidfun intk staticinta printf d a a k 0 1 3 静态变量会记住前一次调用时留下来的值 静态变量的初值为0 10 输出参数的运用场合 子函数要操作主调函数的局部变量 按名访问不能实现需求一 子函数需要直接操作主调函数中的变量空间需求二 子函数需要返回多个结果到主函数 11 需求一 构造交换算法swapvoidswap inta intb intt t a a b b t 传参的实质是子函数获得了数据备份 子函数交换的是局部变量a和b的值 与主调函数中的变量无关子函数需要直接操作主调函数中的变量空间 才能完成交换 不成功 调用后主调函数中的两个变量的值没有交换 12 需求二 求某天是该年的几月几日2010年的第145天是几月几日需要返回月和日两个结果 13 解决方案 输出参数 将主调函数中变量的地址作为参数传递到子函数 a b子函数中接受主调函数中变量的地址 对主调函数中变量按地址访问 能接受地址的参数称为输出参数能接受地址的参数变量就是指针变量 14 指针的概念 指针就是内存空间的地址指针变量就是可以存放地址的变量 指针变量有数据类型 数据类型确定指针变量从其值 地址值 开始可控制的字节数及比特流的解释方法 使用指针变量可突破局部变量的使用范围的限制 按地址访问所指向的内存空间 15 指针变量的定义 变量名int p 16 指向操作 给指针变量赋地址值p a a p 17 引用 引用的实质是按指针变量的地址值访问内存空间 p a 18 使用指针变量向主调函数传值的方法 使用输出参数获取主调函数中局部变量的地址值输出参数是指针变量在子函数中通过指针变量访问主调函数的局部变量 19 交换算法的实现sample02 18 cpp voidswap int pa int pb intt t pa pa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025苏州工业园区租房合同范本
- 2025湖南科技学院招聘44人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年福建省福州市长乐区行政服务中心管理委员会招聘2人考前自测高频考点模拟试题及参考答案详解
- 2025湖南科技学院公开招聘44人模拟试卷及答案详解(历年真题)
- 2025江西抚州市城市建设集团有限公司拟聘用人员(人才引培)考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025关于企业劳动合同模板
- 2025企业如何审签订采购合同
- 2025船舶维护合同
- 2025年度上半年河北唐山市消防救援支队政府专职消防队员招聘113人考前自测高频考点模拟试题及答案详解(全优)
- 2025广西壮族自治区南宁生态环境监测中心招聘1人模拟试卷及参考答案详解
- 【财务会计论文】会计电算化的优化策略论文(共10篇)(共25149字)
- DZ∕T 0213-2020 矿产地质勘查规范 石灰岩、水泥配料类(正式版)
- 1.1.2 茶树无性繁殖
- 电梯控制技术实训报告总结
- (正式版)SHT 3078-2024 立式圆筒形料仓工程设计规范
- 智能化项目施工应急救援预案
- 【云南白药公司财务报表研究国内外文献综述4000字】
- 国际音标卡片(打印版)
- 科技与全球资源分配问题
- 蛋白质相互作用传递信息蛋白质
- 马克思主义劳动观的内涵
评论
0/150
提交评论