从函数接收数组指针

时间:2015-06-16 12:37:29

标签: c arrays

我在代码顶部有数组

int numberArray[] = {1, 2, 3, 4, 5};

我想把这个数组的指针带到函数

中的另一个指针
    void movePointer(int* anotherPointer)
    {
        anotherPointer = numberArray;
    }

现在我会在其余代码中使用anotherPointer。我应该怎么做?我对指针的指针很感兴趣,但我没有收到任何有趣的内容。

2 个答案:

答案 0 :(得分:3)

void movePointer(int ** anotherPointer)
{
    *anotherPointer = numberArray;
    int a = (*anotherPointer)[1]; // value 2
}

答案 1 :(得分:1)

请记住,if (isset($x['data']) && is_array($x['data'])) { foreach ($x['data'] as $dataRow) echo $dataRow['payout'] . '<br />'; } 是局部变量 - 仅在此函数的主体中可用。当您将变量作为指向函数的指针传递时,会在此函数内创建此指针的副本。在这段代码中:

anotherPointer

您正在尝试修改void movePointer(int* anotherPointer) { anotherPointer = numberArray; } 中存储的地址。你会,但只在这个功能的范围内。在该功能之外,地址未被修改。最好的解决方案是将“指向指针”作为参数传递给@ i486,如他的回答所示。