链表问题?为什么总出错
我写了两个函数
一个建立链表一个从链表中读出数据并画方格但p=p->next;这一句不对劲(我已标出位置)请大侠们指点一下
struct FangGe *CKingView::Create(void)
{int ax=300,ay=580,a_cx=320,a_cy=600;
struct FangGe FangGe[11];
for(int i=0;i<10;i++)
{FangGe[i].Direction=1;FangGe[i].x=ax;FangGe[i].y=ay;FangGe[i].Aid=0;
FangGe[i].next=&FangGe[i+1];FangGe[i].cx=a_cx;FangGe[i].cy=a_cy;
ay=ay-20;
a_cy=a_cy-20;}//初始化方格
FangGe[9].next=NULL;//链表尾
return(&FangGe[0]);
}
///////////////////////////////////////
void CKingView::BrushFangGe()
{
CDC *pDC=GetDC();//获显示设备
CBrush myBrush;
myBrush.CreateSolidBrush(RGB(0,0,255));//建刷
CBrush *oldBrush=pDC->SelectObject(&myBrush);//选入刷并追踪
struct FangGe *p;
p=Create();
do{
pDC->FillRect(CRect(p->x,p->y,p->cx,p->cy),&myBrush);
p=p->next;/////////////////////////////////////buggggggbugggggggma???
}while(p!=NULL);
pDC->SelectObject(oldBrush);//还原
ReleaseDC(pDC);
}