如何将矩阵行的元素传递给函数?

Ces*_*are 1 c matrix

假设我在C中有一个多维矩阵matrix[2][3],其元素如下所示:

1 3 5
2 3 4 
Run Code Online (Sandbox Code Playgroud)

我想将矩阵的第二行(作为数组)传递给函数.我是这样做的:

void myFunction(int array[]) {
}

int main() {
    int matrix[2][3];
    myFunction(matrix[2]);
}
Run Code Online (Sandbox Code Playgroud)

虽然,当我打印元素array[]内部的值时,myFunction看起来都设置为零:

0 0 0
Run Code Online (Sandbox Code Playgroud)

如何正确地将矩阵行的元素传递给函数?

Am_*_*ful 5

matrix[2]不是代码中的预定义位置.您需要传递matrix[1]才能访问第二行.

顺便说一下,你似乎传递的数组是未初始化的.请在传递给函数之前初始化它.

就像你的情况一样,代码应该是: -

void myFunction(int array[]) {
...// and so on
}

int main() {
int matrix[2][3] = {{1,3,5},{2,3,4}};
myFunction(matrix[1]);
...// and so on
return 0;
}
Run Code Online (Sandbox Code Playgroud)

注意: C中的数组索引始终从0开始.