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


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>PIC32MX795F512

如果你想使用传递二维数组参数,请使用:

 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);

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

void HowToPutParameters(int* element)

而且您应该始终使用 int main 而不是 void main .

最新更新