我想请问一下,怎么才能把单链表后插发创建中的tail的地址和值传进另外的一个函数里使用
#define NULL 0
#include
#include
typedef struct node
{
int data;
struct node* next;
}Linklist;
Linklist* create_LinklistR()//单链表的创建后插
{
int x;
Linklist* head, * p, * tail;
head = (Linklist*)malloc(sizeof(Linklist));
if (head == NULL)
{
return head;
}
head->next = NULL;
tail = head;
printf("请输入数据\n");
scanf_s("%d", &x);
while (x != 0)
{
p = (Linklist*)malloc(sizeof(Linklist));
if (p == NULL)
{
return head;
}
p->data = x;
tail->next = p;
tail = p;
tail->next = NULL;
scanf_s("%d", &x);
}
return head;
}
int DeleteNode_Linklist(Linklist* head,Linklist*tail, Linklist* p)//删除本结点
{
Linklist* r;
if(p->next != NULL)
{
p->data = p->next->data;
return(DeleteAfter_Linklist(p));
}
else
{
r = head;
while(r->next != p)
r = r->next;
return(DeleteAfter_Linklist(r));
}
}
int main()
{
Linklist* L;
L = create_LinklistR();
printf_Linklist(L);
DeleteNO_Linklist(L, L, 3);
printf("\n");
printf_Linklist(L);
}

用指针的指针作为参数,传出去,或者用全局变量。
不知道你这个问题是否已经解决, 如果还没有解决的话: