动态分配内存存储说明
这个问题在这里已经有了答案:
我想我会做出这个答案:
很简单:
如果使用“新建”,内存将从堆中分配。
“p”是一个局部变量。 它是一个指针,它存储在堆栈中。
它指出的10,000个整数由“新”分配; 它们存储在堆中。
int* p = new int[100000];
将始终从堆中分配内存(正确的术语是动态存储)。 这意味着使用new
或new[]
。
只有指针变量本身会分别在main()
,本地存储器之外获得静态存储分配。
这个问题在这里已经有了答案:
我想我会做出这个答案:
很简单:
如果使用“新建”,内存将从堆中分配。
“p”是一个局部变量。 它是一个指针,它存储在堆栈中。
它指出的10,000个整数由“新”分配; 它们存储在堆中。
int* p = new int[100000];
将始终从堆中分配内存(正确的术语是动态存储)。 这意味着使用new
或new[]
。
只有指针变量本身会分别在main()
,本地存储器之外获得静态存储分配。