在我的函数调用之前声明了指针,并且希望在函数执行时获得数组。 我遵循这里回答的问题,以获得以下代码
double *x;
double *y;
myfunction(1.0,&x,&y);
printf("x[0] = %1.1f\n",x[0] );
myfunction是指
void myfunction(double data, double **x, double **y){
/* Some code */
int calculated_size = 10;
*x = malloc(calculated_size*sizeof(double));
*y = malloc(calculated_size*sizeof(double));
int k;
for (k = 0;k < calculated_size; k++)
{
*x[k] = k ;
*y[k] = k ;
}
当尝试赋值时,会立即导致分段错误。
*x[k] = k;
有人可以指出我应该如何准确地完成这个吗?
*(*x + k) = k
和*(*y + k) = k
作为替代语法。 - struct