2015-03-19 51 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);