據我所知,堆應該是全球性的,不是嗎?所以我們應該可以在我們的函數中訪問我們想要的任何地方的堆內存。那麼爲什麼下面的代碼段錯誤(Segmentation Fault)?發生堆內存的範圍
#include <stdio.h>
using namespace std;
void A(int* x)
{
x = new int[10];
for(int i = 0; i< 10; i++)
{
x[i] = i;
}
}
void B(int *x)
{
printf("%d", x[8]);
}
int main()
{
int* a = NULL;
A(a);
B(a);
return 0;
}
如何A'的'的_input_參數應該影響'B'? – MSalters