C 程序几个不同的「空间」概念

静态空间:静态变量所用的空间,在编译时分配。

生存期:应用程序运行的整个期间。

自动空间(堆空间):自动变量所用的空间,在运行到定义该变量所在的块时分配,但在编译时已确定大小。

生存期:从定义处开始到块结束处为止。

栈空间:函数参数返回值所用的空间,在函数被调用时分配,但在编译时已经确定大小。

生存期:函数被调用的整个期间。

动态空间:动态数据所用的空间,用new申请时分配。

生存期:从申请时开始,直到用delete释放为止。