一、内存分配
有些操作对象只在程序运行时才能确定,这样编译时就无法为他们预定存储空间,只能在程序运行时,系统根据运行时的要求进行内存分配,这种方法称为动态存储分配。所有动态存储分配都在堆区中进行。
栈,在函数内部声明的所有变量都将占用栈内存。通常用来存储局部变量和函数参数。效率高,但是分配的内存容量有限。
堆,程序运行时可用于动态分配内存。内存使用new进行分配使用delete或delete[]释放。
自由存储区,使用malloc进行分配,使用free进行回收。和堆类似。
静态存储区,全局变量和静态变量 static