【发布时间】:2013-10-02 08:04:13
【问题描述】:
有没有人可以解释下面的代码。我对双指针有疑问,无法理解代码是如何链接的。
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;
}
【问题讨论】:
-
"skiss"?!?这是什么意思?是英文还是错字?
-
1 不要说它是双指针,而是正确的词是“指向指针的指针”第二个你有未定义的行为(由 wildplasser 回答)