小编Bri*_*e R的帖子

将数组分配给C中的函数指针参数

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

double *x;
double *y;
myfunction(1.0,&x,&y);
printf("x[0] = %1.1f\n",x[0] );
Run Code Online (Sandbox Code Playgroud)

我的功能在哪里

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 ;
    }
Run Code Online (Sandbox Code Playgroud)

}

一旦尝试分配,就会给我一个分段错误

*x[k] = k;
Run Code Online (Sandbox Code Playgroud)

有人能指出我应该这样做的确切方式吗?

c arrays pointers

3
推荐指数
1
解决办法
72
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1