一段关于指针的有关问题,高手看一下。弄不明白,先上课去了。
一段关于指针的问题,高手看一下。弄不明白,先上课去了。。。
我只截取了其中的几个段,具体内容如下:
typedef struct{//车辆信息&车站结点
int num,reach,leave;//依次为车牌号、到达&离开时间
}Car;
typedef struct{//模拟车站
Car *base,*top;//基址指针&栈顶指针
int Length;//现有车辆数
}SqStack;
void InitStack(SqStack *S){//车站初始化&生成车站(临时站)
S-> base=(Car *)malloc((n+1)*sizeof(Car));//分配空间
S-> top=S-> base;//栈顶指针初始化
S-> Length=0;//现有车辆数,先清零
}//InitStack
Car *s,x;QNode *e;
while(S-> Length){//找车
s=&(S-> top--);S-> Length--;//大S是我定义的一个栈,top为栈顶指针。也就是这一行错误,请各位大侠指教。
if((*j-s-> num)==0) break;
*(++T-> top)=*s;T-> Length++;
}//while
------解决方案--------------------
q=(QNode *)malloc(sizeof(QNode));//这样只给data next有空间,各4个,data-> num又没有空间
q-> data-> num=*j;q-> next=NULL;//赋值
Q-> front-> next=q;Q-> rear=q;//置位
------解决方案--------------------
稍微改了下
q-> data-> num=*j;q-> next=NULL;//赋值
Q-> front-> next=q;Q-> rear=q;//置位
改成
if(Q-> front==NULL)
Q-> front=q;
else Q-> front-> next=q;
Q-> rear=q;//
我只截取了其中的几个段,具体内容如下:
typedef struct{//车辆信息&车站结点
int num,reach,leave;//依次为车牌号、到达&离开时间
}Car;
typedef struct{//模拟车站
Car *base,*top;//基址指针&栈顶指针
int Length;//现有车辆数
}SqStack;
void InitStack(SqStack *S){//车站初始化&生成车站(临时站)
S-> base=(Car *)malloc((n+1)*sizeof(Car));//分配空间
S-> top=S-> base;//栈顶指针初始化
S-> Length=0;//现有车辆数,先清零
}//InitStack
Car *s,x;QNode *e;
while(S-> Length){//找车
s=&(S-> top--);S-> Length--;//大S是我定义的一个栈,top为栈顶指针。也就是这一行错误,请各位大侠指教。
if((*j-s-> num)==0) break;
*(++T-> top)=*s;T-> Length++;
}//while
------解决方案--------------------
q=(QNode *)malloc(sizeof(QNode));//这样只给data next有空间,各4个,data-> num又没有空间
q-> data-> num=*j;q-> next=NULL;//赋值
Q-> front-> next=q;Q-> rear=q;//置位
------解决方案--------------------
稍微改了下
q-> data-> num=*j;q-> next=NULL;//赋值
Q-> front-> next=q;Q-> rear=q;//置位
改成
if(Q-> front==NULL)
Q-> front=q;
else Q-> front-> next=q;
Q-> rear=q;//