我正在学习结构和链表。当使用双重结构指针作为head时,如果不使用另一个结构指针,就无法使其直接指向下一个元素。
void pop(struct stack **headref,int element)
{
struct stack *pop1=*headref;
if(pop1==NULL)
{
return 0;
}
if(r==0)
{
printf("%d %d",*headref,pop1);
//*headref=*headref->next why doesnt this line work?
*headref=pop1->next;
free(pop1);
return 1;
}
}
答案 0 :(得分:3)
->
的优先级高于*
。
*headref->next
的意思是*(headref->next)
,而pop1->next
相当于(*headref)->next
。
换句话说,如果添加一对括号,则不需要pop1
。