0
我有这段代码,但是我不确定如何在通过引用将 结构传递给函数后访问结构指针,程序在此行崩溃, 访问指针不工作。通过引用函数传递结构后访问结构指针
scanf("(%lf,%lf)",polygon->xvals[i],polygon->yvals[i]);
固定码,感谢所有谁回答
struct Polygon{
double *xvals, *yvals;
int numverts;
};
typedef struct Polygon pol;
pol getpoly(pol *polygon);
int main(){
pol polygon;
getpoly(&polygon);
}
pol getpoly(pol *polygon){
polygon->xvals = (double *)malloc(sizeof(double)*polygon->numverts);
polygon->yvals = (double *)malloc(sizeof(double)*polygon->numverts);
check=0;
int i;
for(i=0;i<10;i++){
while(check !=2){
cout<<"enter vertices "<<i<<" (x,y)\n";
check = scanf("(%lf,%lf)",&polygon->xvals[i],&polygon->yvals[i]);
_flushall();
}
check=0;
}
polygon->xvals[polygon->numverts-1] = polygon->xvals[0];
polygon->yvals[polygon->numverts-1] = polygon->yvals[0];
return *polygon;
}
道歉,我没有解释实际发生了什么问题,程序失败,我试图将东西放入指针 –
我已经编辑了标签。 C. –
@ n.m中没有提及。代码中也没有引用;它对我来说看起来像是有效的C(除了当然在'main'中缺少'return')。 –