C/C++程序运行时的内存结构
文章引用地址:http://blog.163.com/strive_only/blog/static/89380168201092210166635/
1. 全局变量、用static修饰的局部变量都存储在静态数据区。
2. 程序指令和大部分字面常量都存储在代码区。
3. 大部分函数的形参和局部变量都存储在栈区。
4. 程序中动态分配的内存都存储在堆区。
5. 一小部分函数形参和局部变量存储在CPU寄存器组中。
静态数据区 |
常量数据区 |
代码区 |
栈区 |
堆区 |
其中,静态数据区中的全局变量在C中分为初始化的和未初始化的, 在C++中没有区分共同占用同一块内存