我在函数参数中返回数组时遇到问题;我要直接跳到我的例子: 我在函数调用之前声明了指针,并希望在函数执行时获取数组
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]时遇到分段错误。什么指向我做错了什么? ; - )