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

如题所述

第1个回答  2022-12-11

C语言使用的内存是虚拟内存。按照功能的不同在C语言中又将虚拟内存为分三类:栈区、堆区、静态数据区,不管是单一变量还是数组,其内存分配都是这样分的。

在栈区、静态数据区、堆区会有编译器负责分配、操作系统负责管理,程序员可以在堆区使用malloc()来动态分配堆内存的问题。

扩展资料

内存的分配和释放注意事项:

1、malloc和free是库函数,不是系统调用

2、malloc实际分配的内存可能会比请求的多---有些编译器分配时是以4字节为单元的

3、不能依赖于不同平台的下的malloc

4、当请求的动态内存无法满足时malloc返回的是NULL

5、当free的参数为NULL时,函数直接返回

参考资料来源:百度百科—数组

参考资料来源:百度百科—c语言

相似回答
大家正在搜