假设我在 C 中有一个多维矩阵,matrix[2][3]
,其元素如下所示:
1 3 5
2 3 4
我想将矩阵的第二行(作为数组)传递给一个函数。我这样做:
void myFunction(int array[]) {
}
int main() {
int matrix[2][3];
myFunction(matrix[2]);
}
虽然,当我在 myFunction
中打印 array[]
的值时,元素看起来都设置为零:
0 0 0
如何将矩阵行的元素正确传递给函数?
最佳答案
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;
}
注意:C 中的数组索引总是从 0 开始。
关于c - 如何将矩阵的一行元素传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34121034/