在c语言中栈的概念怎么理解呢。会对程序造成怎样的影响

如题所述

从不同的角度来理解堆,有不同的含义。 内存可以简单的概括为三个层次:
1、C语言中的层次,即内存分为静态数据区、栈区、堆区。此时的基本单位是字节。
2、操作系统中的层次,即虚拟内存。此时的基本单位是块,比如Win32上是以4KB的页文件来管理虚拟内存。
3、硬件层次,即寻址电路、记忆电路。此时的基本单位是位,然后通过模块化集成为字节、再模块化字节更大的存储单元 。
不同的层次,堆的概念是不一样的,比如在层次1中,堆往往指的是malloc用户自定义分配的内存,从层次2上看,是有操作系统管理的一块虚拟内存,一般以堆块来进行管理,每个堆块有一个属性段,描述段是正使用、保留、还是已回收。 从层次3,则没有任何堆、栈的概念。
温馨提示:答案为网友推荐,仅供参考
相似回答