返回函数指针参数中的数组

时间:2014-11-05 09:39:18

标签: c arrays pointers

我在函数参数中返回数组时遇到问题;我要直接跳到我的例子: 我在函数调用之前声明了指针,并希望在函数执行时获取数组

double *x;
double *y;
myfunction(data,x,y);
printf("x[0] = %1.1f\n",x[0] );

myfunction定义为:

void myfunction(CvMat * data, double *x, double *y){
    /* Some code */
    x = malloc(calculated_size*sizeof(double));
    y = malloc(calculated_size*sizeof(double));
    int k;
    for (k = 0;k < calculated_size; k++)
    {
        x[k] = p[0] ;
        y[k] = p[1] ;
    }
}

好的我对我的问题一直非常肤浅,以免过度复杂化,但主要问题是我不知道我的数组在函数调用之前的大小(我不想事先计算大小) 。

这段代码编译得很好,但是当我运行它时,我在打印x [0]时遇到分段错误。什么指向我做错了什么? ; - )

0 个答案:

没有答案