




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
生存期、作用域和可见域1. 生存期定义:生存期指的是在程序运行过程中,变量从创建到撤销的一段时间。案例:定义一个go函数,在其中声明一个int类型数组,并在该函数中打印其内存地址,然后再main函数中调用go函数。2. 添加断点晕带程序,得到数组a的内存地址3. 继续运行程序,内存被回收4. 为了更好的研究函数go的生存期,在main函数总调用2次go函数5. 第一次执行go函数6. 第一次go函数执行完毕,内存被释放7. 第二次执行go函数,这片内存又被重新赋值8. 第二次执行完go函数,内存又被释放9. 总结:这种内存分配方式叫自动分配内存,对于自动分配(栈分配),变量与其所在的代码块共存亡10. 了解静态分配:对于静态分配(编译器预分配),变量与程序共存亡,程序开始执行时即已存在,一致到程序运行完毕退出后才撤销;11. 案例:定义一个全局数组a, 12. 在main函数中输出局部定义的数组a的地址和全局数组num的地址;13右上是局部数组a的内存,右下数全局数组num的内存14 继续执行下一个断点,局部数组a所占的内存被释放,全局数组num所占的内存没有发生变化;15总结:静态分配,生命周期就是整个程序执行周期,内存会一直存在,main函数执行之前就创建,无论函数如何运行,如何调用,内存一直不会被回收,一直到程序结束才被系统回收。16.动态分配内存:动态分配内存,动态回收内存,可以自己决定其生命周期。17.案例:getmem函数中内配一个40个字节大小的内存。18.main函数中pint得到getmem函数中分配的40个字节的内存,然后对pint进行赋值,在main函数最后释放pint;19.执行程序,执行完for循环,pint所在的内存被赋值;20.然后执行到free(pint),内存被回收;21.动态分配的生存期,从malloc开始,free结束22.动态分配和静态分配的区别:静态分配一般在栈上,系统自己分配和回收内存。动态分配在堆上,由程序员自己决定分配和回收内存23 生存期的概念,仅仅适用于变量,代码,常量,定义等等都是与程序共存亡的,他们的生命周期就是程序的生命周期。24.作用域:变量有效的范围(源程序区域)称为作用域。可见域:能对变量、标识符进行合法的访问的范围(源程序区域)称为可见域。25.案例:26.作用域与可见域的差别:作用域是变量理论上有效的区域,而可见域是变量实际有效的区域,可见域是作用域的子集。27.案例:28:块作用域在go函数中,num的作用域是从913行,a的作用域是整个go函数;如果在mian函数中调用啊,则会报错,因为已经超出了a的作用域;29.在go函数和main函数中同时声明一个局部变量num,因为其作用域不同,可以使用相同的作用名,编译器为这些变量分配不同的存储单元,不会混淆30.文件作用域:只能在本文件中使用。31 跨文件使用:结合extern关键字,调用其他文件中的变量;案例在跨文件使用.c中调用了文件作用域.c的变量但是如果调用文件作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年月日课件吴正宪
- 年月日教学课件
- 工业电梯安全培训中心课件
- 年前安全教育培训内容课件
- 法律顾问协议7篇
- 年假安全培训教学课件
- 平顶山安安全培训课件
- 平面设计配色原理课件
- 平面直线垂直判定课件
- exo-α-1-2-Arabinofuranosidase-Cellvibrio-japonicus-生命科学试剂-MCE
- 商品房买卖管理办法
- 2025年四川三州圆科技开发有限公司招聘考试笔试试题(含答案)
- 2025年广东省初中语文学业水平考试卷附答案解析
- 集团招商引资管理办法
- 园区工作薪酬管理办法
- 劳动仲裁流程课件培训
- 温州市2024-2025学年高一下学期期末英语测试卷
- 黑石培训课件
- 2025年中国坚果礼盒行业市场全景分析及前景机遇研判报告
- 开发基于多模态大模型的CST2差异化评课模型及其应用案例
- QGF009-2021 三偏心硬密封蝶阀
评论
0/150
提交评论