Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中为函数指针参数赋值数组_C_Arrays_Pointers - Fatal编程技术网

在C语言中为函数指针参数赋值数组

在C语言中为函数指针参数赋值数组,c,arrays,pointers,C,Arrays,Pointers,我在函数调用之前声明指针,并希望在函数执行时获取数组。我按照回答的问题获取以下代码 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;

我在函数调用之前声明指针,并希望在函数执行时获取数组。我按照回答的问题获取以下代码

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或更好地使用,如下所示

int *xa = *x;
xa[k] = k ;
[]
导致故障的绑定比
*
更紧

您期望:
(*x)[k]

但是你会得到:
*(x[k])


你也可以做
*(*x+k)=k
*(*y+k)=k
作为另一种语法。太棒了!让我抓狂我找了这么久的错误。。。非常感谢。
int *xa = *x;
xa[k] = k ;