在学习C程序设计语言时,会遇到两个很相似的术语:堆内存和栈内存。这
两个术语虽然只有一字之差,但是所表达的意义还是有差别的,堆内存和栈内存的区别可以用如下的比喻来看出:使用堆内存就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且
自由度
大。使用栈内存就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是
自由度
小。操作系统中所说的堆内存和栈内存,在操作上有上述的特点,这里的堆内存实际上指的就是(满足堆内存性质的)
优先队列
的一种
数据结构
,第1个元素有最高的
优先权
;栈内存实际上就是满足先进后出的性质的数学或
数据结构
。
堆内存和栈内存
最新推荐文章于 2021-10-04 20:46:56 发布