我想在函数中操作整数数组,但我不确定是否应该使用地址前缀或指针前缀:

void shuffle(int *deck[]){
    //statements
}


void shuffle(int &deck[]){
    //statements
}

此外,当我直接想要操作数组的值时,我不确定是否应该使用(在函数中)
*deck[4] = 34

或者别的什么。
如有任何澄清,敬请谅解。

最佳答案

也不是。
因为数组只能通过引用传递,所以不需要做技巧,只需传递一个指针并取消对它的引用。(无论如何,在第二个函数中涉及&的语法是无效的)。所以:

void shuffle(int arr[])
{
    arr[0] = 1337;
}


void shuffle(int *arr)
{
}

等等,你可以这样通过:
int deck[52];
shuffle(deck);

关于c - 通过引用将数组传递给函数参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12256727/

10-11 07:12