RAM中设置堆栈区有什么用 什么是堆栈区
答案:1 悬赏:10 手机版
解决时间 2021-04-07 20:15
- 提问者网友:世勋超人
- 2021-04-06 22:58
RAM中设置堆栈区有什么用 什么是堆栈区
最佳答案
- 五星知识达人网友:毛毛
- 2021-04-07 00:34
RAM的特点就是高速存储。形象的说:堆栈是一种存储部件,即数据的写入跟读出不需要提供地址,而是根据写入的顺序决定读出的顺序 ;
而在RAM中设置堆栈是为了存储程序运行过程中的变量或数据的;提高代码的执行速率。
例如:现在有一个函数调用了一个子函数;那么调用前的一些变量或数据就要放入堆栈中;当子函数执行完后又把变量或数据从中堆栈取出来。
但是你要注意堆和栈是两种不同的数据结构;
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
堆(数据结构):堆可以被看成是一棵树,如:堆排序
栈(数据结构):一种后进先出的的数据结构
栈就是一条流水线,而流水线中加工的就是方法的主要程序,在分配栈时,由于程序是自上而下顺序执行,就将程序指令一条一条压入栈中,就像流水线一样。而堆上站着的就是工作人员,他们加工流水线中的商品,由程序员分配:何时加工,如何加工。而我们通常使用new运算符为对象在堆上分配内存(C#),堆上寻找对象的任务交给句柄,而栈中由栈指针管理
而在RAM中设置堆栈是为了存储程序运行过程中的变量或数据的;提高代码的执行速率。
例如:现在有一个函数调用了一个子函数;那么调用前的一些变量或数据就要放入堆栈中;当子函数执行完后又把变量或数据从中堆栈取出来。
但是你要注意堆和栈是两种不同的数据结构;
堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。
栈(操作系统):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈
堆(数据结构):堆可以被看成是一棵树,如:堆排序
栈(数据结构):一种后进先出的的数据结构
栈就是一条流水线,而流水线中加工的就是方法的主要程序,在分配栈时,由于程序是自上而下顺序执行,就将程序指令一条一条压入栈中,就像流水线一样。而堆上站着的就是工作人员,他们加工流水线中的商品,由程序员分配:何时加工,如何加工。而我们通常使用new运算符为对象在堆上分配内存(C#),堆上寻找对象的任务交给句柄,而栈中由栈指针管理
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯