第一轮:基础内存分布与关键字
1.1 问题:C++内存分区
面试官: 在C++程序中,内存是如何分区的?请简要描述每个区域的作用。
1.2 回答示例:
在C++中,内存主要被分为以下几个区域:
1.2.1 栈(Stack)
- 由编译器自动分配释放,存放函数的参数值、局部变量等。
- 其操作方式类似于数据结构中的栈。
1.2.2 堆(Heap)
- 由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。
- 存放由
new
分配的对象和数组。
1.2.3 全局区(静态区)
- 全局变量和静态变量存放在此。
- 该区域的内存在程序结束