关于#单链表#的问题:我想问这个代码的p1是从哪来的(语言-c语言)

我想问这个代码的p1是从哪来的?


```c
void name2(struct worker *m)
{
    char Name[100];
    struct worker *p=m;
    struct worker *p1=m->next;
    printf("请输入需要删除的职工姓名:");
    scanf("%s",Name);

    while(p1!=NULL)
    {
        if(strcmp(p1->name,Name)==0)
        {
            p->next=p1->next;
            free(p1);
            p1=NULL;
            printf("删除成功!\n");
            break;
        }
        p=p1;
        p1=p1->next;
    }
}

```

从结构体指针m的next成员获取的。m是指向一个worker结构体的指针,而next是该结构体中的一个指针成员。p1表示m的下一个节点,就是m所指向的结构体的next成员指向的节点。。。

 struct worker *p1=m->next;