文章目录
一、内存分布
说明:
- 栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。
- 内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享共享内存,做进程间通信。
- 堆用于程序运行时动态内存分配,堆是可以上增长的。
- 数据段,存储全局数据和静态数据。
- 代码段,可执行的代码/只读常量。
不同区域有着不同的功能,方便操作系统管理这些数据。比如房子有客厅、卧室、厨房、卫生间等等,各自有着不同功能。
二、什么是动态内存?
用户自己申请的内容空间并且用完之后需要动态进行释放的空间。
动态:用户申请 用户释放
三、为什么需要进行动态内存申请?
在内存不同的区域存放不同的数据,用户数据存储的位置是栈、堆。用户的数据可能非常大,栈区存储不下,需要更大内存空间存储数据,因此会向操作系统获取。
四、动态内存申请时注意的问题
1.用多少申请多少
2.使用时,不要越界
3.用完之后记得及时归还
五、C语言中是如何来进行内存申请的?
1.必须要包含对应的头文件
2.使用动态内存申请