首页 > 解决方案 > 用 Void 函数填充结构数组

问题描述

试图将 struct 数组传递给 void 函数并让数组填充一些计算,但是当从“double”类型分配给“struct point”类型时,我得到了 [Error] 不兼容的类型

#define P 45
struct point {
 double x, y;
};
struct point vals[P];

void calculate_values(double l, double r)
{
    int i;
    for(i=0;i<P;i++)
    {
        vals[i]=(l+i)*(l-r)/(P-1);
    }
}
in main
    calculate_values(-5, 5.0);

标签: c

解决方案


此处的这一行尝试将单个数字分配给vals[i]

vals[i]=(l+i)*(l-r)/(P-1);

vals[i]是 point 的一个实例,它需要 2 个数字并以不同方式分配。例如。

vals[i].x=(l+i)*(l-r)/(P-1);


推荐阅读