經過多次試驗我已經成功與新表達分配指針的3 int秒的陣列。在下面的代碼片段中,我首先展示了這個指針在堆棧中的用法,然後在多次嘗試之後顯示堆分配的位置。 #include <iostream>
int main()
{
// First, pointer p to an array of 3 int's in the stack.
int a[3] = { 10, 11,
當內存被動態分配時,它是否存儲在堆中,而不管它在哪裏被聲明?例如,如果在main()內聲明以下代碼行() int * p = new int [100000]; 將內存從堆棧或堆棧分配? 如果在全局範圍內做出同樣的聲明,將從堆中獲取內存。但我讀到動態分配的內存存儲在堆中,局部變量存儲在堆棧中。因此,當上面的代碼行從主內部執行,這使得它成爲一個局部變量,將從堆棧或堆獲取內存?
#include <iostream>
using namespace std;
int main()
{
unsigned long maxindex = 2147483647ul+2ul;
char* p = new char[maxindex];
for(int i = 0; i < maxindex; i++)
{
p[i]