如何将参数(二级数组)放入sub(),,...void func(int* Array2nd)

7xllpg7q  于 2023-03-29  发布在  其他
关注(0)|答案(2)|浏览(103)
void HowToPutParameters( XXXXXX)  // how to put parameters in XXXXXX
{
    array[0][0]=5; 
}    
void main()
{    
    int array[2][2]={{1,2},{3,4}};  
    HowToPutParameters(&array[0][0]);  // &array[0][0] is correct or &array[0]
}

//我想把这个数组放到HowToPutParameters中;
//1.我不确定“&array[0][0]或&array[0]”是否正确,编译器似乎已识别;
//我尝试了void HowToPutParameters(int *array)==〉编译失败
//我尝试了void HowToPutParameters(int *array[][])==〉编译失败
//我的编译器是MPLAB X IDE V1.8,芯片是Microchip〉PIC 32 MX795 F512

1zmg4dgp

1zmg4dgp1#

如果要使用传递二维数组参数,请用途:

void func(int (*a)[2]);// tell the function the first dimension size!
 func(array);

它与以下内容相同:

void func(int a[][2]);
 func(array);

如果你传递&array[0][0],这意味着你传递了一个指向int的指针。

void func(int *element);
xqkwcwgp

xqkwcwgp2#

像这样,在你的代码中,你只是传递了一个指向数组的int元素的指针,而不是数组本身。

void HowToPutParameters(int* element)

你应该总是使用int main而不是void main

相关问题