2015-03-19 56 views
0

我有一个函数通子阵列中C至1D阵列功能

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

这需要加倍的一个一维数组(X),进行了数值衍生物,并给出回结果(在X_diff)。对于这个函数,我想传递一个二维数组的子数组(“矢量”)而不修改函数,但我不知道如何调用它。我怀疑它可能是用双指针来完成的,但我从来没有用过它们。

如果我不得不这样做在MATLAB和M是一个二维矩阵,我会做类似

X_diff = diff(M(1,:)); 

我怎么会用C这样做吗?

+0

在C语言中,你可以尝试通过'&(M [I] )'我是你需要的行。如果它是一列,那么可能会更复杂。 – 2015-03-19 11:20:30

+0

@SibusisoMabuza - 上面的MATLAB语法是针对一行的,因此'&(M [i])'应该足够用于OP。 – rayryeng 2015-03-19 14:32:48

回答

1

如果你有一个像

p[10][20]; 
q[10][20]; 

现在一个数组,你可以通过该行的地址,你的API像

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