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

标签 c matrix

假设我在 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/

相关文章:

java - 包中包含 .java 文件的 Eclipse JNI

c - 将二维数组传递给 C 中的函数

c - 天真的指针算术合并排序返回错误

matlab - 在matlab中进行三角矩阵向量乘法的最快方法?

c - 从全局变量填充整数数组,然后从 C 中的函数返回它

c - 从文件中读取单词/字符串+它们的长度 - c

c++ - 如何在 C++ 中对数组中的字母进行排序?

r - 使用 R 在矩阵中的特定位置插入行

r - 按行填充矩阵或转置按列填充的矩阵更快吗?

php - 如何将 php 中的二维数组旋转 90 度