程序运行时会占用操作系统一定的内存空间,在而占用的这段内存空间中,属于这个程序的不同数据有着不同的分布。
可将区域划分如下:
代码区:
存放程序的机器码以及其他只读数据,只读。
数据区:
静态数据区:没有初始化的全局变量、已经初始化的全局变量、静态的局部变量、常量
动态数据区:
堆Heap:分配 malloc 释放 free
栈Stack:函数的局部变量、参数、返回值 (函数调用完成后自动销毁)