将子数组传递给C到1D数组函数

时间:2015-03-19 11:14:18

标签: c arrays matlab pass-by-reference

我有一个功能

void diff(double X[], double X_diff[], double length_X);

采用一维双精度数组(X),执行数值导数,并返回结果(在X_diff中)。对于这个函数,我想传递2D数组的子数组(" vector")而不修改函数,但我不知道如何调用它。我怀疑它可能是用双指针完成的,但我以前从未使用它们。

如果我必须在MATLAB中完成,并且M是2D矩阵,我会做类似

的事情
X_diff = diff(M(1,:));

我怎么能在C中做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您有像

这样的数组
p[10][20];
q[10][20];

现在您可以传递API的行地址,如

for(i=0;i<10;i++)
diff(p[i],q[i],length);