农企新闻网

c语言数组在内存中是怎么分配的

发布者:李夕
导读使用C语言编程,实际上使用的内存只有一种虚拟内存。根据功能的不同在C语言中又将虚拟内存为分三类:栈区、堆区、静态数据区,无论单一变量还是数组,

使用C语言编程,实际上使用的内存只有一种虚拟内存。根据功能的不同在C语言中又将虚拟内存为分三类:栈区、堆区、静态数据区,无论单一变量还是数组,其内存分配都是如此;

1、栈区:一般每一个函数对应一个栈区,在编译原理中称为栈帧;

2、静态数据区:这实际上对应于生成的可执行文件的data区段,因为这个区段在生成的可执行文件中,因此是“静态的”;

3、堆区:堆区是最复杂的,有操作系统负责堆管理,但是当用C语言编译器生成一个可执行文件并且运行时,它会默认建立一些堆。