有没有人可以解释以下代码。我对双指针有疑问,无法理解代码是如何链接的。
int remove_person(Post **list, char *name)
{
Post *p = *list;
if(strcmp(p->name, name) == 0)
{
free(*list); //rensar minnet
*list = p->next;
return 1;
}
for(; p->next != NULL; p = p->next)
{
if(strcmp(p->next->name, name) == 0)
{
Post *tmp = p->next;
p->next = p->next->next;
free(tmp); //rensar minnet
return 1;
}
}
return 0;
}