typedef struct node
{
datetype date;
struct node *next;
}StackNode *LinkStack
下面是入栈操作:
LinkStack Push_LinkStack(LinkStack top,datetype x)
{
StackNode *s;
s=malloc(sizeof(StackNode));
s->date=x;【s->next=top;top=s;】
return top;
}
我只有一个问题。就是在我加【】的地方,前面s->next=top的意思是把名为LinkStack的指向node结构体的指针top内的地址赋给同样指向名为StackNode指向node结构体的next指针,这样top内为空即无地址,接下来又把指向StackNode的s指针内地址赋给top,这样top就又指向了名为StackNode的node结构体。这样最后就返回了一个名为StackNode的node结构体,但是函数本身是应该返回名为LinkNode的node结构体的啊?怎么回事?函数中的返回值跟函数本身应该返回的值是不一致的呢??
慕丝7291255
青春有我
相关分类