将 C 中的子数组传递给一维数组函数
Pass sub-array in C to 1D array function
我有一个功能
void diff(double X[], double X_diff[], double length_X);
它采用一维双精度数组 (X),执行数值导数,并返回结果(在 X_diff 中)。对于这个函数我想在不修改函数的情况下传递一个二维数组的子数组("vector"),但我不知道如何调用它。我怀疑这可能是用双指针完成的,但我以前从未使用过它们。
如果我必须在 MATLAB 中做,并且 M 是一个二维矩阵,我会做类似
X_diff = diff(M(1,:));
我如何在 C 中执行此操作?
如果你有一个像
这样的数组
p[10][20];
q[10][20];
现在您可以为您的 API 点赞
传递行的地址
for(i=0;i<10;i++)
diff(p[i],q[i],length);
我有一个功能
void diff(double X[], double X_diff[], double length_X);
它采用一维双精度数组 (X),执行数值导数,并返回结果(在 X_diff 中)。对于这个函数我想在不修改函数的情况下传递一个二维数组的子数组("vector"),但我不知道如何调用它。我怀疑这可能是用双指针完成的,但我以前从未使用过它们。
如果我必须在 MATLAB 中做,并且 M 是一个二维矩阵,我会做类似
X_diff = diff(M(1,:));
我如何在 C 中执行此操作?
如果你有一个像
这样的数组p[10][20];
q[10][20];
现在您可以为您的 API 点赞
传递行的地址for(i=0;i<10;i++)
diff(p[i],q[i],length);