首页 > 电子期刊 > J > 计算机时代

C++语言内存分配研究

空间大于所申请空间编译器将程序提供栈空间向低地址生长方向分配连续内存空间若申请空间超过栈剩余空间将报异常提示栈溢出overflow[1]调用函数时第个进栈被调用函数下行内存地址函数参数参数入栈顺序自右向左函数局部变量函数调用结束后首先出栈被调函数中局部变量参数次序自左向右所变量参数都出栈后栈顶指针指到调用函数下行内存地址程序根据地址跳转到函数调用处下行自动执行入栈数据内存地址随着入栈顺序先后向着内存地址减小方向增长随着数据断入栈内存地址断变小于栈先进后出原则栈会产生内存碎片栈内存小效率高栈中存储数据只函数内效函数调用结束会因数据出栈被释放1.2 堆区heap堆内存程序员分配释放若程序员程序中释放则程序运行结束后操作系统回收堆连续空闲内存区域块区域链表连接起来其内存大小系统中虚拟内存来定因其空间较大存放大量数据堆区分配内存空间时系统会遍历用于记录内存空闲块链表首次找到个空间大于所申请空间堆结点时将结点从链表中删除将
<<上一页  下一页>>

首页 > 电子期刊 > J > 计算机时代

广州市越秀区图书馆版权所有。
联系电话:020-87673002

本站访问人数: