我想问这个代码的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;