我在代码顶部有数组
int numberArray[] = {1, 2, 3, 4, 5};
我想把这个数组的指针带到函数
中的另一个指针 void movePointer(int* anotherPointer)
{
anotherPointer = numberArray;
}
现在我会在其余代码中使用anotherPointer
。我应该怎么做?我对指针的指针很感兴趣,但我没有收到任何有趣的内容。
答案 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,如他的回答所示。