函数中分配的数组

时间:2013-06-04 06:16:38

标签: function-pointers

让我们说你在主

中有这个
int* test;
test = createArray(test);

这是功能

int * creatArray(int* temp)
{
    temp = new int [35];
    return temp
}

为什么需要将分配的空间返回到指针而不是指针,就像它是通过引用调用一样?或者更改值而不返回它?

1 个答案:

答案 0 :(得分:0)

为了通过引用进行调用,应该声明:

void creatArray(int* &temp)
{
    temp = new int [35];
}

另一种选择是传递指向变量的指针(类型为“指向int的指针”):

void creatArray(int** temp)
{
    *temp = new int [35];
}
...
createArray(&test);  // take a pointer to variable