私はこのコードを持っていますが、参照によって構造体を関数に渡した後、構造体ポインターにアクセスする方法がわかりません。プログラムがこの行でクラッシュし、ポインターへのアクセスが機能しません。
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;
}