在另一个函数中使用返回的数组指针

时间:2016-06-15 09:37:02

标签: c++ arrays pointers

我需要做两个向量的点积,然后显示结果。根据我所学到的,我能用C ++做的最好的事情是返回结果向量的地址(指针)。我目前正在使用此代码执行此操作:

199901L

然后我需要打印结果,所以我有另一个接受指针的函数:

// Dot product.
double * dot(double u[3], double v[3]) {
    double result[3];
    result[0] = u[0] * v[0];
    result[1] = u[1] * v[1];
    result[2] = u[2] * v[2];
    return result;

这不起作用。结果值都是垃圾。

我该如何使这项工作?来自python,我真的觉得无法通过函数传递数组就像没有胳膊或腿一样,我无法设法正确地玩指针游戏。

1 个答案:

答案 0 :(得分:1)

在我看来,最简单的方法是将dot原型改为:

  void dot(double u[3], double v[3], double result[3])

并调整其余代码。